我有一个如下数据框:
A B C
4.43 NaN 1.11
3.70 0.48 0.79
2.78 -0.29 1.26
1.78 2.90 1.13
40.70 -0.03 0.55
51.75 0.29 1.45
3.65 1.74 0.37
2.93 1.56 1.64
3.43 NaN NaN
2.93 NaN NaN
10.37 NaN NaN
现在,如果A列> 7,则要删除B列和C列,如下所示:
A B C
4.43 NaN 1.11
3.70 0.48 0.79
2.78 -0.29 1.26
1.78 2.90 1.13
40.70 NaN NaN
51.75 NaN NaN
3.65 1.74 0.37
2.93 1.56 1.64
3.43 NaN NaN
2.93 NaN NaN
10.37 NaN NaN
我该如何实现?
使用DataFrame.mask
默认值NaN
替换为掩码:
df[['B','C']] = df[['B','C']].mask(df.A > 7)
或DataFrame.loc
指定np.nan
:
df.loc[df.A > 7, ['B','C']] = np.nan
print (df)
A B C
0 4.43 NaN 1.11
1 3.70 0.48 0.79
2 2.78 -0.29 1.26
3 1.78 2.90 1.13
4 40.70 NaN NaN
5 51.75 NaN NaN
6 3.65 1.74 0.37
7 2.93 1.56 1.64
8 3.43 NaN NaN
9 2.93 NaN NaN
10 10.37 NaN NaN
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句