Pandas: как построить график количества значений (с примером)
Вы можете использовать функцию value_counts() в pandas для подсчета вхождений значений в заданном столбце DataFrame.
Вы можете использовать один из следующих методов для построения значений, полученных функцией value_counts() :
Способ 1: отобразить количество значений в порядке убывания
df. my_column . value_counts (). plot (kind=' bar ')
Способ 2: отобразить количество значений в порядке возрастания
df. my_column . value_counts (). sort_values (). plot (kind=' bar ')
Способ 3. Отобразите количество значений в том порядке, в котором они появляются в DataFrame.
df. my_column . value_counts ()[df. my_column . unique ()]. plot (kind=' bar ')
В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:
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 #calculate occurrences of each value in 'team' column df. team . value_counts () B5 At 2 C 1 Name: team, dtype: int64
Пример 1: Постройте количество значений в порядке убывания
Следующий код показывает, как отобразить количество значений на гистограмме в порядке убывания:
#plot value counts of team in descending order df. team . value_counts (). plot (kind=' bar ')
По оси X отображается название команды, а по оси Y отображается частота появления каждой команды.
Обратите внимание, что по умолчанию столбцы сортируются по убыванию.
Примечание . Если вместо этого вы хотите создать горизонтальную гистограмму, просто замените bar на barh в аргументе вида .
Пример 2: Постройте количество значений в порядке возрастания
Следующий код показывает, как отобразить количество значений на гистограмме в порядке возрастания:
#plot value counts of team in descending order df. team . value_counts (). sort_values (). plot (kind=' bar ')
Обратите внимание, что столбцы теперь отсортированы по возрастанию.
Пример 3. Отобразите количество значений в том порядке, в котором они появляются в DataFrame.
Следующий код показывает, как отобразить количество значений на гистограмме в зависимости от порядка их появления в DataFrame:
#plot value counts of team in order they appear in DataFrame df. team . value_counts ()[df. team . single ()]. plot (kind=' bar ')
Бары теперь сортируются в соответствии с порядком их появления в DataFrame.
Например, в столбце команды сначала появляется значение «А», затем «Б», затем «С».
Вот в каком порядке располагаются столбцы на гистограмме.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи panda:
Pandas: как добавлять заголовки к графикам
Pandas: как создавать подписи к сюжету
Pandas: как создать гистограмму из GroupBy