Как просмотреть все категориальные столбцы и их информацию, используя одну строку кода? - PullRequest
0 голосов
/ 09 сентября 2018

вместо проверки уникальной категориальной информации столбца столбец за столбцом, есть ли быстрый способ сделать это?

df.columnA.unique()
df.columnB.unique()

Если я хочу проверить столбцы с более чем 100, код, который я ввожу выше, не экономичен.

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018
for col in df.columns:
if df[col].dtype == 'object':
    print('\nColumn Name:', col,)
    print(df[col].value_counts())

Я сам нашел решение ...

0 голосов
/ 09 сентября 2018

Выберите Категориальные столбцы с помощью pd.DataFrame.select_dtypes. Затем используйте pd.Series.cat.categories:

cat_cols = df.select_dtypes(include='category').columns
res = {col: df[col].cat.categories for col in cat_cols}

Это предполагает, что все категории используются для любой данной серии. Если это не так, вы можете использовать pd.Series.unique:

res = {col: df[col].unique() for col in cat_cols}

Разница в поведении задокументирована :

Примечание : Результат unique() не всегда совпадает с Series.cat.categories, потому что Series.unique() имеет пару гарантирует, а именно, что он возвращает категории в порядке внешний вид, и он включает в себя только те значения, которые действительно присутствуют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...