Pandas: como criar um gráfico de barras para visualizar os 10 principais valores
Você pode usar a seguinte sintaxe básica para criar um gráfico de barras no pandas que inclua apenas os 10 valores mais frequentes em uma coluna específica:
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')
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: crie um gráfico de barras no Pandas para visualizar os 10 principais valores
Suponha que temos o seguinte DataFrame do pandas que contém informações sobre o nome do time e os pontos marcados por 500 jogadores de basquete diferentes:
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
Podemos usar a seguinte sintaxe para criar um gráfico de barras que exiba os 10 valores mais frequentes na coluna da equipe :
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 ')
O gráfico de barras contém apenas os nomes das 10 equipes mais frequentes.
O eixo x exibe o nome da equipe e o eixo y exibe a frequência.
Observe que também podemos personalizar o enredo para torná-lo mais esteticamente agradável:
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 ')
Observe que o argumento edgecolor adicionou uma borda preta ao redor de cada barra e o argumento rot girou os rótulos do eixo x 90 graus para torná-los mais fáceis de ler.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:
Pandas: como criar um gráfico de barras empilhadas
Pandas: como anotar barras em um gráfico de barras
Pandas: como plotar múltiplas colunas em um gráfico de barras