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

更新日期: 2021 年 9 月 16 日

641 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始吧
廣告
© . All rights reserved.