[今日热搜 ]如何基于其他列值的条件获取列总和?[手机光明网]

[今日热搜 ]如何基于其他列值的条件获取列总和?[手机光明网]

已邀请:
在给定条件为 True 时获取总和的方法,以及在条件为 False 时用给定值替换总和的方法。参考以下代码:

import numpy as np
import pandas as pd

df = pd.DataFrame(
np.random.randn(5,3),
columns=list('xyz'))

df['sum'] = df.loc[df['x'] > 0,['x','y']].sum(axis=1)

df['sum'].fillna(0, inplace=True)
print(df)
在上面的代码中,我们将新列总和添加到 Dataframe 中,这是第一列 ['x','y'] 的和,如果 ['x'] 大于 1,否则我们将和替换为 0。

运行代码后,我们将获得以下输出(根据你的情况,值可能会更改)。

x y z sum
0 -1.067619 1.053494 0.179490 0.000000
1 -0.349935 0.531465 -1.350914 0.000000
2 -1.650904 1.534314 1.773287 0.000000
3 2.486195 0.800890 -0.132991 3.287085
4 1.581747 -0.667217 -0.182038 0.914530

要回复问题请先登录注册