Python使用相同的键汇总数据帧中的行

时间:2019-02-05 03:01:11

标签: python pandas numpy statistics data-cleaning

我想总结一个数据帧中具有相同行键的行。

目的是缩小数据集的大小。

例如,如果数据框看起来像这样。

Fruit       Count

Apple         10

Pear          20

Apple          5

Banana         7

Banana         12

Pear           8  

Apple          10

我希望最终的数据帧看起来像这样。

Fruit       Count

Apple         25

Pear          28

Banana        19

我正在使用Python的pandas,numpy,matplotlib和其他数据分析包。有没有办法使用这些包中的函数在python中做到这一点?

这是创建示例数据框的代码。

df = pd.DataFrame([["Apple", 10], ["Pear", 20], ["Apple", 5], ["Banana", 7], ["Banana", 12], ["Pear", 8], ["Apple", 10]], columns=["Fruit", "Count"])

5 个答案:

答案 0 :(得分:3)

groupbysum()怎么样?例如df.groupby(['Fruit'])['Count'].sum()

import pandas as pd
df = pd.DataFrame([["Apple", 10], ["Pear", 20], ["Apple", 5], ["Banana", 7], ["Banana", 12], ["Pear", 8], ["Apple", 10]], columns=["Fruit", "Count"])
df = df.groupby(['Fruit'])['Count'].sum()
print(df)

输出:

Fruit
Apple     25
Banana    19
Pear      28

答案 1 :(得分:3)

groupbyas_index=Falsesum一起使用:

>>> df.groupby('Fruit',as_index=False)['Count'].sum()
    Fruit  Count
0   Apple     25
1  Banana     19
2    Pear     28
>>> 

答案 2 :(得分:2)

这应该是获得您所追求的最短方法:

df.groupby("Fruit").sum()

输出:

Fruit      Count       
Apple      25
Banana     19
Pear       28

答案 3 :(得分:2)

是的!就像

df.groupby("Fruit").sum()

答案 4 :(得分:1)

groupbysum一起使用

df = df.groupby('Fruit').sum()
print(df)

输出

Fruit      Count     
Apple      25
Banana     19
Pear       28