如何在 Pandas DataFrame 上对值进行分组计数
pythonserver side programmingprogramming更新于 2025/10/29 8:12:17
要对值进行分组计数,请使用 Pandas DataFrame 的 groupby()、size() 和 unstack() 方法。首先,创建一个包含 3 列的 DataFrame −
dataFrame = pd.DataFrame({
'Product Category': ['Computer', 'Mobile Phone', 'Electronics', 'Electronics', 'Computer', 'Mobile Phone'],'Product Name': ['Keyboard', 'Charger', 'SmartTV', 'Camera', 'Graphic Card', 'Earphone'],'Quantity': [10, 50, 10, 20, 25, 50]})
现在,使用 groupby() 方法对 groupby 值进行计数。对于计数,使用 size() 和 unstack()。 unstack() 给出了新的列标签级别 −
dataFrame = dataFrame.groupby(['Product Category', 'Product Name', 'Quantity']).size().unstack(fill_value=0)
示例
以下是完整代码 −
import pandas as pd
# 创建一个包含 3 列的数据框
dataFrame = pd.DataFrame({
'Product Category': ['Computer', 'Mobile Phone', 'Electronics', 'Electronics', 'Computer', 'Mobile Phone'],'Product Name': ['Keyboard', 'Charger', 'SmartTV', 'Camera', 'Graphic Card', 'Earphone'],'Quantity': [10, 50, 10, 20, 25, 50]})
# dataframe
print"Dataframe...\n",dataFrame
# count and unstack
dataFrame = dataFrame.groupby(['Product Category', 'Product Name', 'Quantity']).size().unstack(fill_value=0)
print"\nResultant DataFrame...\n",dataFrame
输出
这将产生以下输出 −
Dataframe... Product Category Product Name Quantity 0 Computer Keyboard 10 1 Mobile Phone Charger 50 2 Electronics SmartTV 10 3 Electronics Camera 20 4 Computer Graphic Card 25 5 Mobile Phone Earphone 50 Resultant DataFrame... Quantity 10 20 25 50 Product Category Product Name Computer Graphic Card 0 0 1 0 Keyboard 1 0 0 0 Electronics Camera 0 1 0 0 SmartTV 1 0 0 0 Mobile Phone Charger 0 0 0 1 Earphone 0 0 0 1
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

