Python - 使用 Numpy 对 Pandas 聚合进行去重计数
要进行去重计数,请在 Pandas 中使用 nunique。我们将对一列进行 groupby 分组,并使用 Numpy sum() 求和。
首先,导入必要的库 −
import pandas as pd import numpy as np
创建一个有 3 列的数据框。这些列具有重复的值 −
dataFrame = pd.DataFrame( { "Car": ['BMW', 'Audi', 'BMW', 'Lexus', 'Lexus'],"Place": ['Delhi','Bangalore','Delhi','Chandigarh','Chandigarh'],"Units": [100, 150, 50, 110, 90] } )
在使用 nunique 的聚合 agg() 中进行去重计数。对于计数总和,我们正在使用 numpy sum() −
dataFrame = dataFrame.groupby("Car").agg({"Units": np.sum, "Place": pd.Series.nunique})
示例
以下是代码 −
import pandas as pd import numpy as np dataFrame = pd.DataFrame( { "Car": ['BMW', 'Audi', 'BMW', 'Lexus', 'Lexus'],"Place": ['Delhi','Bangalore','Delhi','Chandigarh','Chandigarh'],"Units": [100, 150, 50, 110, 90] } ) print"DataFrame ...\n",dataFrame # count distinct in aggregation with nunique dataFrame = dataFrame.groupby("Car").agg({"Units": np.sum, "Place": pd.Series.nunique}) print"\nUpdated DataFrame ...\n",dataFrame
输出
这将生成以下输出 −
DataFrame ... Car Place Units 0 BMW Delhi 100 1 Audi Bangalore 150 2 BMW Delhi 50 3 Lexus Chandigarh 110 4 Lexus Chandigarh 90 Updated DataFrame ... Units Place Car Audi 150 1 BMW 150 1 Lexus 200 1
广告