Python – Count distinct in Pandas Aggregation with Numpy

Python – Count distinct in Pandas Aggregation with Numpy

使用 Pandas 中的 nunique 计算不同值的数量。我们将对一列进行分组,同时使用 Numpy 的 sum() 来查找和。

首先,导入所需的库−

import pandas as pd
import numpy as np
Python

创建一个有 3 列的 DataFrame。这些列具有重复值−

dataFrame = pd.DataFrame(
   {
      "Car": ['BMW', 'Audi', 'BMW', 'Lexus', 'Lexus'],"Place": ['Delhi','Bangalore','Delhi','Chandigarh','Chandigarh'],"Units": [100, 150, 50, 110, 90]
   }
)
Python

使用 nunique 在聚合 agg() 中计算不同的值的数量。 对计数计算求和,我们使用 numpy 的 sum() −

dataFrame = dataFrame.groupby("Car").agg({"Units": np.sum, "Place": pd.Series.nunique})
Python

更多Pandas文章,请阅读:Pandas教程

示例

下面是代码−

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
Python

输出

这将产生以下输出−

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
Python

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册