Pandas: як створити зведену таблицю з кількістю значень


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

Спосіб 1: зведена таблиця з числами

 p.d. pivot_table (df, values=' col1 ', index=' col2 ', columns=' col3 ',
               aggfunc=' count ')

Спосіб 2: зведена таблиця з унікальними номерами

 p.d. pivot_table (df, values=' col1 ', index=' col2 ', columns=' col3 ',
               aggfunc=pd. Series . nunique )

У наведених нижче прикладах показано, як використовувати кожен метод із такими pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'C', 'G', 'F', 'F', 'F'],
                   ' points ': [4, 4, 6, 8, 9, 5, 5, 12]})

#view DataFrame
df

	team position points
0 A G 4
1 A G 4
2 A F 6
3 A C 8
4 B G 9
5 B F 5
6 B F 5
7 B F 12

Спосіб 1: Створення зведеної таблиці Pandas із підрахунками

Наступний код показує, як створити зведену таблицю в pandas, яка відображає загальну кількість значень «точок» для кожної «команди» та «позиції» в DataFrame:

 #create pivot table
df_pivot = pd. pivot_table (df, values=' points ', index=' team ', columns=' position ',
                          aggfunc=' count ')

#view pivot table
df_pivot

position C F G
team			
   A 1.0 1.0 2.0
   B NaN 3.0 1.0

З результату ми бачимо:

  • У колонці «очки» для команди A на позиції C є 1 значення.
  • У колонці «очки» для команди A на позиції F є 1 значення.
  • У колонці «очки» для команди А в позиції G є 2 значення.

І так далі.

Спосіб 2: Створення зведеної таблиці Pandas з унікальними підрахунками

Наступний код показує, як створити зведену таблицю в pandas, яка відображає унікальну загальну кількість значень «точок» для кожної «команди» та «позиції» у DataFrame:

 #create pivot table
df_pivot = pd. pivot_table (df, values=' points ', index=' team ', columns=' position ',
                          aggfunc=pd. Series . nunique )

#view pivot table
df_pivot

position C F G
team			
   A 1.0 1.0 1.0
   B NaN 2.0 1.0

З результату ми бачимо:

  • Є 1 унікальне значення в колонці «очки» для команди A на позиції C.
  • Є 1 унікальне значення в колонці «очки» для команди A на позиції F.
  • Є 1 унікальне значення в колонці «очки» для команди A на позиції G.

І так далі.

Примітка . Ви можете знайти повну документацію щодо функції pandas pivot_table() тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Pandas: Як змінити форму DataFrame з довгого на широкий
Pandas: Як змінити форму DataFrame із широкого на довгий
Pandas: як групувати та агрегувати в кількох стовпцях

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *