我有一个数据框,我想要一个新列 t
,其中包含同一行中其他列的总和。条件是如果总和是奇数,我想要 NaN
,如果值是偶数,我想要总和。
df = pd.DataFrame([[1, 8, 7, 2],
[8, 5, 9, 4],
[1, -5, 3, -2]], columns=list('pqrs'))
df
p q r s
0 1 8 7 2
1 8 5 9 4
2 1 -5 3 -2
Expected output:
p q r s t
0 1 8 7 2 18.0
1 8 5 9 4 26.0
2 1 -5 3 -2 NaN
最佳答案
使用np.where
:
df['new'] = np.where(df.sum(1)%2==0, df.sum(1), np.nan)
df
p q r s new
0 1 8 7 2 18.0
1 8 5 9 4 26.0
2 1 -5 3 -2 NaN
关于python - Pandas - 在列中附加行值的总和(如果总和为偶数)或 NaN(如果为奇数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53512640/