Как удалить строку с неправильным (неизвестным) значением в pandas - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь удалить строку с ошибкой, но неизвестным значением в одном столбце.

мой фрейм данных выглядит примерно так

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

, но я не мог использовать содержит ..

Что мне делать?

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

удалить низкие значения из pandas столбца фрейма данных при условии

вам следует удалить категорические значения с низкими счетными выбросами:

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.

Если это число c значение, то вам следует применить анализ выбросов. Вы также можете изменить категориальные значения на цифры c, удалить выбросы и преобразовать числовые значения в категориальные, если хотите.

0 голосов
/ 12 марта 2020
newdf = df[df['kinds'].isin(kinds)]

Вы просто хотите проверить, есть ли значение в столбце в вашем списке.

...