Exemples de comment extraire les noms et valeurs de value_counts() avec pandas en python
Table des matières
- Créer une dataframe avec pandas
- Utiliser value_counts() sur la colonne 'Surface'
- Récupérer la liste des noms de value_counts ()
- Obtenir le nom du premier élément de value_counts ()
- Extraire la valeur associée au premier élément de value_counts ()
- Créer une boucle sur les elements de value_counts()
- Créer un histogramme avec matplotlib
- Références
Créer une dataframe avec pandas
Commençons par créer une simple dataframe avec pandas:
import pandas as pdimport numpy as npimport randomSurface = [random.choice(['Ocean','Snow','Desert', 'Forest','']) for i in range(20)]c1 = np.random.uniform(0,1, size=20)c2 = np.random.uniform(0,1, size=20)c3 = np.random.uniform(0,1, size=20)data = {'Surface':Surface,'c1':c1,'c2':c2,'c3':c3}df = pd.DataFrame(data)print(df)
donne par exemple
Surface c1 c2 c30 Forest 0.273228 0.547091 0.9951141 Desert 0.585434 0.229137 0.8587142 0.215637 0.554016 0.3478513 Desert 0.684748 0.345694 0.2925254 Ocean 0.683991 0.916057 0.9434695 Desert 0.342695 0.024518 0.2263596 Snow 0.702004 0.520701 0.1949297 Desert 0.812882 0.978291 0.6673658 Ocean 0.072272 0.038988 0.3916969 Snow 0.948763 0.622616 0.29819310 0.438773 0.024421 0.13348911 Forest 0.277632 0.775055 0.16249412 Snow 0.576751 0.840382 0.78416213 Ocean 0.675573 0.500358 0.96888514 Ocean 0.717382 0.485487 0.20901815 Desert 0.473825 0.992767 0.38308416 Desert 0.918840 0.545654 0.03444417 Snow 0.820191 0.414088 0.31500918 0.086068 0.724317 0.00918319 Ocean 0.099506 0.849096 0.431591
Utiliser value_counts() sur la colonne 'Surface'
Exemple de résultat avec value_counts() sur la colonne 'Surface':
df['Surface'].value_counts()
donne
Desert 6Ocean 5Snow 43Forest 2Name: Surface, dtype: int64
Récupérer la liste des noms de value_counts ()
Pour obtenir la liste des noms de value_counts (), une solution consiste à utiliser tolist():
df['Surface'].value_counts().index.tolist()
donne:
['Desert', 'Ocean', 'Snow', '', 'Forest']
Obtenir le nom du premier élément de value_counts ()
Exemple de comment obtenir le nom du premier élément de value_counts ()
df['Surface'].value_counts().index.tolist()[0]
donne
'Desert'
Extraire la valeur associée au premier élément de value_counts ()
Exemple de comment extraire la valeur associée au premier élément de value_counts ()
df['Surface'].value_counts()[0]
donne
6
Créer une boucle sur les elements de value_counts()
Créons maintenant une simple boucle for qui parcourt tous les éléments de value_counts ():
for idx,name in enumerate(df['Surface'].value_counts().index.tolist()):print('Name :', name)print('Counts :', df['Surface'].value_counts()[idx])
donne
Name : DesertCounts : 6Name : OceanCounts : 5Name : SnowCounts : 4Name :Counts : 3Name : ForestCounts : 2
Créer un histogramme avec matplotlib
Note: on peut tracer un histogramme avec matplotlib en utilisant value_counts():
import matplotlib.pyplot as pltdf['Surface'].value_counts().plot(kind='bar')plt.show()
