我有以下数据框。我想返回第二列,它是列中每个项目的总和,条件是:仅大于 -1 的项目。
输入
Price
0 12
1 14
2 15
3 10
4 2
5 4
6 -5
7 -4
8 -3
9 -5
10 16
11 15
输出
Price Total Sum
0 12 88
1 14
2 15
3 10
4 2
5 4
6 -5
7 -4
8 -3
9 -5
10 16
11 15
最佳答案
要获得列中正值的总和,使用适当的条件
import pandas as pd
df = pd.DataFrame({'price': [12, 14, 15, 10, 2, 4, -5, -4, -3, -5, 16, 15]})
total = df.loc[df['price'] > 0, 'price'].sum()
print(total) # 88
设置一列的值与其他行参数无关,这里是一个值,这不是一个好主意。但是要得到逻辑
# you need to pad with zeros, if you not you'll have 88 at every row
df['total'] = [total] + [0] * (len(df) - 1)
print(df)
price total
0 12 88
1 14 0
2 15 0
3 10 0
4 2 0
5 4 0
6 -5 0
7 -4 0
8 -3 0
9 -5 0
10 16 0
11 15 0
关于python 将一列的值与条件相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70143154/