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 pd
import numpy as np
import random
Surface = [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 c3
0 Forest 0.273228 0.547091 0.995114
1 Desert 0.585434 0.229137 0.858714
2 0.215637 0.554016 0.347851
3 Desert 0.684748 0.345694 0.292525
4 Ocean 0.683991 0.916057 0.943469
5 Desert 0.342695 0.024518 0.226359
6 Snow 0.702004 0.520701 0.194929
7 Desert 0.812882 0.978291 0.667365
8 Ocean 0.072272 0.038988 0.391696
9 Snow 0.948763 0.622616 0.298193
10 0.438773 0.024421 0.133489
11 Forest 0.277632 0.775055 0.162494
12 Snow 0.576751 0.840382 0.784162
13 Ocean 0.675573 0.500358 0.968885
14 Ocean 0.717382 0.485487 0.209018
15 Desert 0.473825 0.992767 0.383084
16 Desert 0.918840 0.545654 0.034444
17 Snow 0.820191 0.414088 0.315009
18 0.086068 0.724317 0.009183
19 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 6
Ocean 5
Snow 4
3
Forest 2
Name: 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 : Desert
Counts : 6
Name : Ocean
Counts : 5
Name : Snow
Counts : 4
Name :
Counts : 3
Name : Forest
Counts : 2
Créer un histogramme avec matplotlib
Note: on peut tracer un histogramme avec matplotlib en utilisant value_counts():
import matplotlib.pyplot as plt
df['Surface'].value_counts().plot(kind='bar')
plt.show()