【发布时间】:2018-06-22 22:43:56
【问题描述】:
我有一个 370000 行 x 340 列的数据框,在这个 DataFrame 中,我在列之间混合了数字和非数字值。
我想合并行,基于user_id,将某些数值相加,并保留非数值。
给定表:
user_id points gender age
11111 10000 male 18
2222 4200 female 33
11111 30000 male 18
2222 10 female 33
11111 20000 male 18
我希望得到这样的结果:
user_id points gender age
11111 60000 male 18
2222 4210 female 33
在对行求和时,我需要对大约求和。 340 个值中有 300 个值,但我是熊猫新手,正在努力寻找正确的方法,不胜感激。
【问题讨论】:
-
我不认为这是数字与非数字——年龄是数字,但你不想对年龄求和,对吧?
-
@DSM 是的,我只想合并某些数值
-
你可以做一个
groupby,然后为每一列选择聚合函数。在这种情况下,类似于df.groupby('user_id').agg({'points':'sum', 'gender': 'first'})