我需要完全删除所有列中具有“无”值的数据框中的行。我正在使用以下代码 -
df.dropna(axis=0,how='all',thresh=None,subset=None,inplace=True)
这不会给数据帧带来任何差异。具有“None”值的行仍然存在。
如何实现这一目标?
最佳答案
其中 None
不应该是字符串,因此首先使用替换:
df = df.replace('None', np.nan).dropna(how='all')
df = pd.DataFrame({
'a':['None','a', 'None'],
'b':['None','g', 'None'],
'c':['None','v', 'b'],
})
print (df)
a b c
0 None None None
1 a g v
2 None None b
df1 = df.replace('None', np.nan).dropna(how='all')
print (df1)
a b c
1 a g v
2 NaN NaN b
或者用不等于和 DataFrame.any
来测试值 None
:
df1 = df[df.ne('None').any(axis=1)]
print (df1)
a b c
1 a g v
2 None None b
关于python-3.x - 从数据帧中删除所有列中值为 "None"的行 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56377502/