我有一个像这样的数据框
df=pd.DataFrame(数据=[[21,1]、[32,4]、-4,14]、[3,17]、-7,NaN]],列=['a'、[b'])
df
我希望能够删除列列表中所有具有负值的行,并使用NaN保存行
在我的示例中,只有2列,但我的数据集中有更多的列,所以我无法逐个完成
如果要将其应用于所有列,请使用dropna()执行df[df>;0]:
>&燃气轮机&燃气轮机;df[df>;0].dropna()
a b
0 21 1
3 3 17
如果您知道要将其应用于哪些列,则只对那些具有df[df[cols]>;0]的列执行以下操作:
>&燃气轮机&燃气轮机;cols=['b']
&燃气轮机&燃气轮机&燃气轮机;df[cols]=df[df[cols]>;0][cols]
&燃气轮机&燃气轮机&燃气轮机;df.dropna()
a b
0 21 1
2 -4 14
3 3 17