Considérez ma série comme ci-dessous: la première colonne est article_id et la deuxième colonne est le nombre de fréquences.
article_id
1 39
2 49
3 187
4 159
5 158
...
16947 14
16948 7
16976 2
16977 1
16978 1
16980 1
Name: article_id, dtype: int64
J'ai eu cette série d'un dataframe avec la commande suivante:
logs.loc[logs['article_id'] <= 17029].groupby('article_id')['article_id'].count()
logs est ici le dataframe et article_id est l'une des colonnes qu'il contient.
Comment tracer un graphique à barres (à l'aide de Matlplotlib) tel que le paramètre article_id se trouve sur l'axe des X et le nombre de fréquences sur l'axe des Y?
Mon instinct naturel était de le convertir en une liste en utilisant .tolist () mais cela ne préserve pas l'article_id.
IIUC vous avez besoin Series.plot.bar
:
#pandas 0.17.0 and above
s.plot.bar()
#pandas below 0.17.0
s.plot('bar')
Échantillon:
import pandas as pd
import matplotlib.pyplot as plt
s = pd.Series({16976: 2, 1: 39, 2: 49, 3: 187, 4: 159,
5: 158, 16947: 14, 16977: 1, 16948: 7, 16978: 1, 16980: 1},
name='article_id')
print (s)
1 39
2 49
3 187
4 159
5 158
16947 14
16948 7
16976 2
16977 1
16978 1
16980 1
Name: article_id, dtype: int64
s.plot.bar()
plt.show()
La nouvelle API pandas suggère les solutions suivantes:
import pandas as pd
s = pd.Series({16976: 2, 1: 39, 2: 49, 3: 187, 4: 159,
5: 158, 16947: 14, 16977: 1, 16948: 7, 16978: 1, 16980: 1},
name='article_id')
s.plot(kind="bar", figsize=(20,10))
Si vous travaillez sur Jupyter, vous n’avez pas besoin de la bibliothèque matplotlib
.
Utilisez simplement 'bar' dans le paramètre type de la parcelle
Exemple
series = read_csv('BwsCount.csv', header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)
series.plot(kind='bar')
La valeur par défaut du type est 'line' (ie. Series.plot () -> tracera automatiquement le graphique linéaire)
Pour votre référence:
kind : str
‘line’ : line plot (default)
‘bar’ : vertical bar plot
‘barh’ : horizontal bar plot
‘hist’ : histogram
‘box’ : boxplot
‘kde’ : Kernel Density Estimation plot
‘density’ : same as ‘kde’
‘area’ : area plot
‘pie’ : pie plot