繁体   English   中英

如何将pandas中的dataframe求和超过5

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM