Считать частоту значений в столбцах Pandas DataFrame

Я хочу подсчитать количество раз, когда каждое значение появляется в dataframe.

Вот мой dataframe – df :

  status 1 N 2 N 3 C 4 N 5 S 6 N 7 N 8 S 9 N 10 N 11 N 12 S 13 N 14 C 15 N 16 N 17 N 18 N 19 S 20 N 

Я хочу словарь слов:

ех. counts = {N: 14, C:2, S:4}

Я пробовал df['status']['N'] но он дает keyError а также df['status'].value_counts но не используется.

4 Solutions collect form web for “Считать частоту значений в столбцах Pandas DataFrame”

Вы можете использовать value_counts и to_dict :

 print df['status'].value_counts() N 14 S 4 C 2 Name: status, dtype: int64 counts = df['status'].value_counts().to_dict() print counts {'S': 4, 'C': 2, 'N': 14} 

Альтернативный один лайнер с использованием underdog Counter :

 In [3]: from collections import Counter In [4]: dict(Counter(df.status)) Out[4]: {'C': 2, 'N': 14, 'S': 4} 

Вы можете попробовать это.

 df.stack().value_counts().to_dict() 

Можете ли вы преобразовать df в список?

Если так:

 a = ['a', 'a', 'a', 'b', 'b', 'c'] c = dict() for i in set(a): c[i] = a.count(i) 

Использование понимания dict:

 c = {i: a.count(i) for i in set(a)} 
  • Частотные таблицы в пандах (например, plyr в R)
  • Получить общее количество столбцов Pandas
  • Панды и юникод
  • Быстрое чтение указанных столбцов в df с помощью pandas.to_hdf
  • Поворот кадра данных pandas с двойными значениями индекса
  • Переименование серии в пандах
  • Фильтрация и выбор из сводных таблиц с использованием python pandas
  • Pandas GroupBy освобождение памяти
  • SettingWithCopy Предупреждение при использовании .loc
  • преобразовать dict в отсортированный dict в python
  • Как загрузить данные в кусках из фрейма данных pandas в блок данных искры
  • Python - лучший язык программирования в мире.