[英]How to sum dataframe in pandas for more than 5
在我的天列中,如果我的数字超过 5,我想对该列求和
输入:
Days files
1 10
3 20
4 30
5 40
6 50
必填 output:
Days files
1 10
3 20
4 30
5+ 90
您可以尝试series.clip
剪辑系列中的上界,然后进行 groupby 和求和:
out = df['files'].groupby(df['Days'].clip(upper=5)).sum().reset_index()
print(out)
Days files
0 1 10
1 3 20
2 4 30
3 5 90
如果你真的想把 5 以上的任何东西变成 str 类型,你可以用上面的逻辑替换5
:
out = df['files'].groupby(df['Days'].clip(upper=5).replace(5,'5+')).sum().reset_index()
print(out)
Days files
0 1 10
1 3 20
2 4 30
3 5+ 90
我会这样做:
above = df.files[df.Days >= 5].sum()
df[df.Days < 5].append({'Days': '5+', 'files': above}, ignore_index=True)
它给:
Days files
0 1 10
1 3 20
2 4 30
3 5+ 90
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.