如何在熊猫中删除具有错误(未知)值的行

时间:2020-03-12 15:39:08

标签: python pandas dataframe contains delete-row

我正在尝试删除错误的行,但其中一列的值未知。

我的数据框看起来像这样

'size'  : ['small', 'small', 'medium','small','small'],
'length': [38, 62, 55,33,22],
'kinds' : ["A","#$" ,"B","C","A"]}

我要删除具有错误值的行。如果值不包含,则该值是错误的 任何种类的值

kinds=["A","B","C"]

我尝试过类似的事情

df[df["kinds"].contains(kinds)]

但是我不能使用contains ..

我该怎么办?

2 个答案:

答案 0 :(得分:0)

remove low counts from pandas data frame column on condition

您应删除低计数的离群分类值:

for name in df.columns:
    if df[name].dtypes == 'O':
        s = df[name].value_counts()
        df = df[df.isin(s.index[s >= 3]).values] # 3 value that proper for action.

如果它是数字值,则应应用异常值分析。您还可以根据需要将分类值更改为数字删除离群值,然后将数字转换为分类值。

答案 1 :(得分:-1)

newdf = df[df['kinds'].isin(kinds)]

您只想检查列中的值是否在列表中。