为了账号安全,请及时绑定邮箱和手机立即绑定

在行之间求和某些值

在行之间求和某些值

临摹微笑 2021-03-30 16:09:52
我有一个370000行x 340列的数据框,在这个DataFrame中,我在列之间混合了数值和非数值。我想基于合并行,将user_id某些数字值相加,并保留非数字值。给定表:user_id          points    gender    age11111              10000      male    18 2222               4200    female    3311111              30000      male    18 2222                 10    female    3311111              20000      male    18我希望得到这样的结果:user_id          points    gender     age11111              60000      male     182222                4210      female   33在对行求和时,我需要求和大约。在340个价值中,有300个价值高昂,但我不知道要努力做到这一点的大熊猫,不胜感激。
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

你想将你原来DataFrame的'user_id'。然后,您可以汇总分组的框架并指定要在每列上使用的功能的字典。


df.groupby('user_id').agg({'points': 'sum', 

                           'gender': 'first', 

                           'age': 'first'}).reset_index()

输出:


   user_id  points  gender  age

0     2222    4210  female   33

1    11111   60000    male   18

只要您要“保留”该值的列中只有一个唯一值,“第一”将起作用。否则,实施模式以保留最常见的值,或者“唯一”以获取所有值的列表。


查看完整回答
反对 回复 2021-04-13
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

嘿,你可以使用 pandas aggregate sum


喜欢


df.groupby(['user_id'])[["points"]].sum()


df.groupby(['user_id'])[["list_of_attribute"]].sum()

并且也可以传入多个columns,否则list_of_attributes 必须传入多个subset列KeyError。


查看完整回答
反对 回复 2021-04-13
  • 2 回答
  • 0 关注
  • 199 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号