Pandas: создайте таблицу частот на основе нескольких столбцов


Вы можете использовать следующий базовый синтаксис для создания таблицы частот в pandas на основе нескольких столбцов:

 df. value_counts ([' column1 ',' column2 '])

В следующем примере показано, как использовать этот синтаксис на практике.

Пример. Создайте таблицу частот в Pandas на основе нескольких столбцов.

Предположим, у нас есть следующий DataFrame pandas, который содержит информацию о названии команды, позиции и очках, набранных различными баскетболистами:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [24, 33, 20, 15, 16, 16, 29, 25]})

#view DataFrame
print (df)

  team position points
0 AG 24
1 AG 33
2 AG 20
3 AF15
4 BG 16
5 BG 16
6 BF 29
7 BF 25

Мы можем использовать функцию value_counts() для создания таблицы частот, которая показывает появление каждой комбинации значений в столбцах команды и позиции :

 #count frequency of values in team and position columns
df. value_counts ([' team ',' position '])

team position
GA 3
BF 2
      G2
AF1
dtype: int64

По результатам мы видим:

  • Встречается 3 матча команды А и позиции G.
  • Встречается 2 матча команды B и позиции F.
  • Встречается 2 матча команды B и позиции G.
  • Встречается 1 появление команды А и позиции F.

Обратите внимание, что вместо этого мы можем использовать reset_index() для возврата DataFrame:

 #count frequency of values in team and position columns and return DataFrame
df. value_counts ([' team ',' position ']). reset_index ()

        team position 0
0 A G 3
1 B F 2
2 B G 2
3 A F 1

Мы можем использовать функцию rename() , чтобы переименовать столбец, содержащий значения:

 #get frequency of values in team and position column and rename count column
df. value_counts ([' team ',' position ']). reset_index (). rename (columns={0:' count '})

        team position count
0 A G 3
1 B F 2
2 B G 2
3 A F 1

Конечным результатом является DataFrame, который содержит частоту каждой уникальной комбинации значений в столбцах «Команда » и «Позиция» .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Pandas: как использовать GroupBy и подсчет значений
Pandas: как использовать GroupBy для подсчета ячеек
Pandas: Как посчитать значения в столбце с условием

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *