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: як побудувати гістограми за групами