如果我有一个数据框并且想要删除其中一列中的值不是整数的任何行,我该怎么做?
另一种方法是,如果值不在 0-2 范围内,则删除行,但由于我不确定如何执行其中任何一个操作,我希望有人可以这样做。
这是我尝试过的,但没有成功,不知道为什么:
df = df[(df['entrytype'] != 0) | (df['entrytype'] !=1) | (df['entrytype'] != 2)].all(1)
我建议有两种方法:
In [212]:
df = pd.DataFrame({'entrytype':[0,1,np.NaN, 'asdas',2]})
df
Out[212]:
entrytype
0 0
1 1
2 NaN
3 asdas
4 2
如果值的范围像您所说的那样受到限制,那么使用isin
将是最快的方法:
In [216]:
df[df['entrytype'].isin([0,1,2])]
Out[216]:
entrytype
0 0
1 1
4 2
否则我们可以转换为 str 然后调用.isdigit()
In [215]:
df[df['entrytype'].apply(lambda x: str(x).isdigit())]
Out[215]:
entrytype
0 0
1 1
4 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)