我有一个数据框,我想要一个新列,同一行中其他列的总和。条件是如果和是奇数,我要Nan,如果值是偶数,我要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
答案 0 :(得分:2)
使用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