python 将一列的值与条件相加

标签 python pandas dataframe numpy

我有以下数据框。我想返回第二列,它是列中每个项目的总和,条件是:仅大于 -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/

相关文章:

python - 将这样的 URI 'foo://user:pass@host:port' 解析为适当变量的 pythonic 方法是什么?

python - 将 n 个元素(大小 = 2 字节,十进制)的列表拆分为 2n 个元素(大小 = 1 字节,十六进制)

scala - 数据框过滤器给出 NullPointerException

unit-testing - 你如何对 Python DataFrames 进行单元测试

python - Conda 环境中的 LD_LIBRARY_PATH

python - pandas 使用 itertuples 编辑单元格值

python - 使用 Pandas 和 R 将序列号连接到组中的每一行

Python Pandas 数据框到 XML

Python ValueError : Shape of passed values is (1, 627),索引意味着 (3, 627)

python - 如何在pandas数据框中的 `convert_objects`中产生异常