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

How to drop a row that has a wrong (unknown) value in pandas

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

我的数据框看起来像这样

'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)]

但我无法使用包含..

我该怎么办?

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

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

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.

如果它是一个数值,那么你应该应用离群值分析。您还可以将分类值更改为数值删除异常值,并根据需要将数值转换为分类值。