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