Как получить количество значений для нескольких столбцов сразу в Pandas DataFrame?

Учитывая, что Pandas DataFrame имеет несколько столбцов с категориальными значениями (0 или 1), можно ли удобно получить значение_количество для каждого столбца одновременно?

Например, предположим, что я генерирую DataFrame следующим образом:

import numpy as np import pandas as pd np.random.seed(0) df = pd.DataFrame(np.random.randint(0, 2, (10, 4)), columns=list('abcd')) 

Я могу получить DataFrame следующим образом:

  abcd 0 0 1 1 0 1 1 1 1 1 2 1 1 1 0 3 0 1 0 0 4 0 0 0 1 5 0 1 1 0 6 0 1 1 1 7 1 0 1 0 8 1 0 1 1 9 0 1 1 0 

Как мне удобно получить значения для каждого столбца и получить следующее удобно?

  abcd 0 6 3 2 6 1 4 7 8 4 

Мое текущее решение:

 pieces = [] for col in df.columns: tmp_series = df[col].value_counts() tmp_series.name = col pieces.append(tmp_series) df_value_counts = pd.concat(pieces, axis=1) 

Но должен быть более простой способ, например, укладка, поворот или группировка?

One Solution collect form web for “Как получить количество значений для нескольких столбцов сразу в Pandas DataFrame?”

Просто вызовите apply и передайте pd.Series.value_counts :

 In [212]: df = pd.DataFrame(np.random.randint(0, 2, (10, 4)), columns=list('abcd')) df.apply(pd.Series.value_counts) Out[212]: abcd 0 4 6 4 3 1 6 4 6 7 
  • Проверьте, существует ли значение в индексе dataframe pandas
  • Python Pandas: манипуляция таблицами с помощью срезов как переменных
  • Результаты расчета Pandas GroupBy
  • Как разбить значения ячейки в нескольких строках в кадре данных pandas?
  • панды: считать вещи
  • Pandas pytable: как указать min_itemsize элементов MultiIndex
  • Сбросить Pandas 'Series.rolling' на ежедневной основе
  • Как перенести данные pandas из индекса в столбец после нескольких групп
  • Как вы очищаете и переадресовываете многократную 1-минутную временную серию с пандами?
  • pandon pandas - ввод значений в новый столбец
  • Pandas DataFrame: конвертировать WKT в GeoJSON в новый столбец, используя функцию Lambda
  • Python - лучший язык программирования в мире.