Pandas GroupBy – 计算每个组合的出现次数

pythonserver side programmingprogrammingpandas

为了在 Pandas 中对列进行分组并计算每个组合的出现次数,我们使用 DataFrame.groupby() 和 size()。 groupby() 方法将 DataFrame 分成几组。

首先,让我们使用别名 pd − 导入 pandas 库

import pandas as pd

初始化列表的数据 −

# 初始化数据
mylist = {'Car': ['BMW', 'Mercedes', 'Lamborgini', 'Audi', 'Mercedes', 'Porche', 'RollsRoyce', 'BMW'], 'Place': ['Delhi', 'Hyderabad', 'Chandigarh', 'Bangalore', 'Hyderabad', 'Mumbai', 'Mumbai','Delhi'],
'Sold': [95, 80, 80, 75, 90, 90, 95, 50 ]}

接下来,我们将创建一个 DataFrame −

# DataFrame
dataFrame = pd.DataFrame(mylist, columns=['Car', 'Place', 'Sold'])

现在,使用 groupby() 计算 size() 的出现次数 −

print("Counting the appearance...")
res = dataFrame.groupby(['Car', 'Place']).size()

以下是计算每个组合出现次数 − 的代码

示例

# 导入库
import pandas as pd

# 初始化数据
mylist = {'Car': ['BMW', 'Mercedes', 'Lamborgini', 'Audi', 'Mercedes', 'Porsche', 'RollsRoyce', 'BMW'],
'Place': ['Delhi', 'Hyderabad', 'Chandigarh', 'Bangalore', 'Hyderabad', 'Mumbai', 'Mumbai','Delhi'],
'Sold': [95, 80, 80, 75, 90, 90, 95, 50 ]}

# DataFrame
dataFrame = pd.DataFrame(mylist, columns=['Car', 'Place', 'Sold'])

print(dataFrame)

print("正在计算发生次数...")
res = dataFrame.groupby(['Car', 'Place']).size()

# 显示发生次数
print(res)

输出

这将产生以下输出 −

          Car           Place       Sold
0         BMW           Delhi         95
1    Mercedes       Hyderabad         80
2  Lamborgini      Chandigarh         80
3        Audi       Bangalore         75
4    Mercedes       Hyderabad         90
5     Porsche          Mumbai         90
6  RollsRoyce          Mumbai         95
7         BMW           Delhi         50
Counting the occurrences...
Car         Place
Audi        Bangalore     1
BMW         Delhi         2
Lamborgini  Chandigarh    1
Mercedes    Hyderabad     2
Porsche     Mumbai        1
RollsRoyce  Mumbai        1
dtype: int64

相关文章