Pandas: як представити value_counts у відсотках


Ви можете використовувати функцію value_counts() у pandas для підрахунку входжень значень у заданому стовпці DataFrame.

Щоб представити значення у відсотках, ви можете використовувати один із таких методів:

Спосіб 1. Представлення значень у відсотках (у форматі десяткових дробів)

 df. my_col . value_counts (normalize= True )

Спосіб 2: представлення значень у відсотках (у форматі символів відсотків)

 df. my_col . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % '

Спосіб 3: представлення значень у відсотках (з підрахунками)

 counts = df. my_col . value_counts ()
percs = df. my_col . value_counts (normalize= True )
p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage '])

Наступні приклади показують, як використовувати кожен метод на практиці з такими pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C'],
                   ' points ': [15, 12, 18, 20, 22, 28, 35, 40]})

#view DataFrame
print (df)

  team points
0 to 15
1 to 12
2 B 18
3 B 20
4 B 22
5 B 28
6 B 35
7 C 40

Приклад 1: представлення значень у відсотках (у форматі десяткових дробів)

У наведеному нижче коді показано, як підрахувати кількість випадків кожного значення в стовпці команди та представити їх у відсотках від загальної кількості в десятковому форматі:

 #count occurrence of each value in 'team' column as percentage of total
df. team . value_counts (normalize= True )

B 0.625
At 0.250
C 0.125
Name: team, dtype: float64

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

  • Значення B представляє 62,5% випадків у колонці команди.
  • Значення A представляє 25% випадків у стовпці команди.
  • Значення C представляє 12,5% випадків у стовпці команди.

Зауважте, що відсотки форматуються як десяткові числа.

Приклад 2: представлення значень у відсотках (у форматі символів відсотків)

У наведеному нижче коді показано, як підрахувати появу кожного значення в стовпці команди та представити появу у відсотках від загальної кількості у форматі символів відсотка:

 #count occurrence of each value in 'team' column as percentage of total
df. team . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % '

B 62.5%
At 25.0%
C 12.5%
Name: team, dtype: object

Зауважте, що відсотки форматуються як рядки з символами відсотків.

Приклад 3: представлення чисел значень у відсотках (за допомогою чисел)

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

 #count occurrence of each value in 'team' column
counts = df. team . value_counts ()

#count occurrence of each value in 'team' column as percentage of total
percs = df. team . value_counts (normalize= True )

#concatenate results into one DataFrame
p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage '])

        count percentage
B 5 0.625
At 2 0.250
C 1 0.125

Зауважте, що стовпець підрахунку відображає кількість кожного унікального значення в стовпці команди, тоді як стовпець відсотка відображає кожне унікальне значення як відсоток від загальної кількості входжень.

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

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Pandas: як побудувати рахунки вартості
Pandas: як використовувати GroupBy і підрахунок значень
Pandas: як побудувати гістограми за групами

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

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