Py学习  »  Python

如何在Python中基于groupby添加一列的值?

messy748 • 5 年前 • 1701 次点击  

假设我有以下数据帧:

year count 2001 14 2004 16 2001 2 2005 21 2001 22 2004 14 2001 8

我想按 year 列并添加 count 每个给定年份的列。我希望我的结果是

year count 2001 46 2004 30 2005 21

我有点费劲想办法,有人能帮忙吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49664
 
1701 次点击  
文章 [ 2 ]  |  最新文章 5 年前
GIRISH kuniyal
Reply   •   1 楼
GIRISH kuniyal    5 年前

希望这能有帮助!! 假设pandas数据帧名为 数据框 . 然后groupby代码运行如下:

df.groupby('year')[['count']].sum()

它将返回您想要的数据帧。

Jerry M.
Reply   •   2 楼
Jerry M.    5 年前
import pandas as pd

df = pd.read_csv("test.csv")
df['count'] = pd.to_numeric(df['count'])
#df['count'] = df.groupby(['year'])['count'].sum()

total = df.groupby(['year'])['count'].sum()

print(total)

产量:

year
2001    46
2004    30
2005    21