Pandas: как создать гистограмму для визуализации 10 основных значений


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

 import pandas as pd
import matplotlib. pyplot as plt

#find values with top 10 occurrences in 'my_column'
top_10 = (df[' my_column ']. value_counts ()). iloc [:10]

#create bar chart to visualize top 10 values
top_10. plot (kind='bar')

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

Пример. Создайте гистограмму в Pandas для визуализации 10 основных значений

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

 import pandas as pd
import numpy as np
from string import ascii_uppercase
import random
from random import choice

#make this example reproducible
random. seeds (1)
n.p. random . seeds (1)

#createDataFrame
df = pd. DataFrame ({' team ': [choice(ascii_uppercase) for _ in range(500)],
                   ' points ': np. random . uniform (0, 20, 500)})

#view first five rows of DataFrame
print ( df.head ())

  team points
0 E 8.340440
1 S 14.406490
2 Z 0.002287
3 Y 6.046651
4 C 2.935118

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

 import matplotlib. pyplot as plt

#find teams with top 10 occurrences
top_10_teams = (df[' team ']. value_counts ()).[:10]

#create bar chart of top 10 teams
top_10_teams. plot (kind=' bar ') 

Гистограмма содержит только названия 10 наиболее часто встречающихся команд.

По оси X отображается название команды, а по оси Y — частота.

Обратите внимание, что мы также можем настроить сюжет, чтобы сделать его более эстетичным:

 import matplotlib. pyplot as plt

#find teams with top 10 occurrences
top_10_teams = (df[' team ']. value_counts ()).[:10]

#create bar chart of top 10 teams
top_10_teams. plot (kind=' bar ', edgecolor=' black ', rot=0)

#add axis labels
plt. xlabel (' Team ')
plt. ylabel (' Frequency ')

Обратите внимание, что аргумент цвета края добавил черную рамку вокруг каждой полосы, а аргумент rot повернул метки по оси X на 90 градусов, чтобы их было легче читать.

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

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

Pandas: как создать гистограмму с накоплением
Pandas: как аннотировать столбцы на гистограмме
Pandas: как построить несколько столбцов на гистограмме

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

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