社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

messy748 • 5 年前 • 1893 次点击  

假设我有以下数据帧:

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
 
1893 次点击  
文章 [ 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