Фильтровать столбцы с количеством уникальных значений в pandas кадре данных - PullRequest
0 голосов
/ 03 марта 2020

У меня очень большой фрейм данных с более чем 2000 столбцами. Я пытаюсь подсчитать количество уникальных значений для каждого столбца и отфильтровать столбцы с уникальными значениями ниже определенного числа. Вот пример:

import pandas as pd
df = pd.DataFrame({'A': ('a', 'b', 'c', 'd', 'e', 'a', 'a'), 'B': (1, 1, 2, 1, 3, 3, 1)})
df.nunique()
A      5
B      3
dtype: int64

Допустим, я хочу отфильтровать столбец B, который имеет менее 5 уникальных значений, и вернуть df без столбца B.

Спасибо -

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Другие могут иметь более питон c способ. Попробуйте, чтобы убедиться, что это работает.

x = df.nunique()
df[list(x[x>=5].index)]
1 голос
/ 03 марта 2020

Пройдите .loc

df=df.loc[:,df.nunique()>3]
   A
0  a
1  b
2  c
3  d
4  e
5  a
6  a
...