Pandas 数据框中如何对数值进行分组计数

Pandas 数据框中如何对数值进行分组计数

要对数值进行分组计数,在 Pandas 数据框中使用 groupby()、size() 和 unstack() 方法。首先,创建一个包含 3 列的数据框 –

dataFrame = pd.DataFrame({
   '产品类别': ['电脑', '手机', '电子产品', '电子产品', '电脑', '手机'],'产品名称': ['键盘', '充电器', '智能电视', '照相机', '显卡', '耳机'],'数量': [10, 50, 10, 20, 25, 50]})

现在,使用 groupby() 方法对数值进行分组计数。要计数,使用 size() 和 unstack()。unstack() 会给出新层列标签 –

dataFrame = dataFrame.groupby(['产品类别', '产品名称', '数量']).size().unstack(fill_value=0)

示例

下面是完整代码-

import pandas as pd

# 创建一个含有三个列的数据框
dataFrame = pd.DataFrame({
   '产品类别': ['电脑', '手机', '电子产品', '电子产品', '电脑', '手机'],'产品名称': ['键盘', '充电器', '智能电视', '照相机', '显卡', '耳机'],'数量':[10, 50, 10, 20, 25, 50]})

# 数据框
print"数据框...\n",dataFrame

# 计数和 unstack
dataFrame = dataFrame.groupby(['产品类别', '产品名称', '数量']).size().unstack(fill_value=0)

print"\n结果数据框...\n",dataFrame

输出

这将产生以下输出 –

数据框...
   产品类别         产品名称        数量 
0         电脑          键盘          10
1        手机         充电器        50
2       电子产品       智能电视       10
3       电子产品        照相机       20
4         电脑       显卡          25
5       手机         耳机         50

结果数据框...
数量                          10  20  25  50
产品类别        产品名称
电脑             显卡         0    0    1    0
                 键盘         1    0    0    0
电子产品         照相机        0    1    0    0
                智能电视       1    0    0    0
手机             充电器        0    0    0    1
                耳机          0    0    0    1

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程