Pandas GroupBy ō Ā Count the occurrences of each combination
为了在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 occurrences...")
res = dataFrame.groupby(['Car', 'Place']).size()
下面是计算每个组合出现次数的代码 –
更多Pandas相关文章,请阅读:Pandas 教程
示例
# 导入库
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("Counting the occurrences...")
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
极客教程