Я нахожусь в конце моего остроумия, когда я пишу это.Вероятно, это невероятно маленькая проблема, но я не смог обойти ее.Вот что происходит:
- У меня есть фрейм данных
df
с 80
столбцами - Выполнение
value_counts().count()
над df
итеративно, я могу выведите имена столбцов и количество уникальных значений в этом столбце.
Вот проблема: я также хочу сделать sum
вверх count()
из уникальные значения всех столбцов.По сути, мне понадобится только один номер.S0 в основном, если column1 имел 10 уникальных значений, column2 имел 5, column3 имел 3 .., я ожидаю, что sum()
будет 18.
О # 2, вот что работает (просто для цикла) -
def counting_unique_values_in_df(df):
for evry_colm in df:
print (evry_colm, "-", df[evry_colm].value_counts().count())
Это работает.Он печатает его в этом формате - the column - unique values
Теперь, наряду с этим, я хотел бы напечатать сумму уникальных значений.Что бы я ни пытался, он либо печатает уникальное значение последнего столбца (который случайно равен 2), либо печатает какую-то вещь случайным образом.Я знаю, что это как-то связано с циклом for, но я не могу понять, что именно.
Я также знаю, что для того, чтобы получить то, что я хочу, что по сути sum(df[evry_colm].value_counts().count())
, мне понадобится
Заранее благодарен за вашу помощь.
, чтобы преобразовать
df[evry_colm].value_counts().count()
в серию или даже в кадр данных.