我正在尝试删除错误的行,但其中一列的值未知。
我的数据框看起来像这样
'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 ..
我该怎么办?
答案 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)]
您只想检查列中的值是否在列表中。