Считать частоту значений в столбцах 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)} 
  • dataframe values.tolist () тип данных
  • Как изменить формат индекса Datetime (UTC) в Pandas?
  • Как найти дубликаты имен с помощью панд?
  • как заполнить недостающее значение при построении DataFrame?
  • python - сдерживается условными обозначениями pandas и / или булевым индексированием
  • Панды: самый быстрый способ разрешить IP-адрес страны
  • Растопите верхнюю треугольную матрицу панд-кадра
  • Перемещение столбца по имени в переднюю часть таблицы в пандах
  • Python - лучший язык программирования в мире.