gpt4 book ai didi

python - 如果特定列中的值不是 pandas 数据框中的整数,则删除行

转载 作者:太空狗 更新时间:2023-10-30 02:19:35 26 4
gpt4 key购买 nike

如果我有一个数据框并且想要删除其中一列中的值不是整数的任何行,我该怎么做?

如果值不在 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

关于python - 如果特定列中的值不是 pandas 数据框中的整数,则删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28499973/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com