Pandas read_csv() avec exemple
Importer CSV dans Pandas
Dans ce tutoriel TensorFlow, vous utiliserez le jeu de donnรฉes pour adultes. Il est frรฉquemment utilisรฉ pour les tรขches de classification. Il est disponible ici : URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Les donnรฉes sont stockรฉes au format CSV. Cet ensemble de donnรฉes comprend huit variables catรฉgorielles :
Cet ensemble de donnรฉes comprend 8 variables catรฉgorielles :
- classe ouvriรจre
- l'รฉducation
- matrimonial
- occupation
- relations
- breed
- sexe
- pays d'origine
Et, 6 variables continues :
- รขge
- fnlwgt
- num_education
- gain_capital
- perte_de_capital
- heures_semaine
Mรฉthode Pandas read_csv()
Pour importer un jeu de donnรฉes CSV, vous pouvez utiliser l'objet pd.read_csv(). L'argument de base ร l'intรฉrieur est le suivant :
Syntaxe Pandas read_csv()
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- chemin_fichier_ou_buffer: Chemin ou URL avec les donnรฉes
- sep=', ': Dรฉfinissez le dรฉlimiteur ร utiliser
- `names=Aucun`: Nommez les colonnes. Si l'ensemble de donnรฉes comporte dix colonnes, vous devez transmettre dix noms
- `index_col=Aucun`: Si oui, la premiรจre colonne est utilisรฉe comme index de ligne
- `skipinitialspace=False`: Sauter les espaces aprรจs le dรฉlimiteur.
Pour plus d'informations sur read_csv(), veuillez consulter la documentation officielle :
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
Exemple Pandas read_csv()
## Import csv
import pandas as pd
## Define path data
COLUMNS = ['age','workclass', 'fnlwgt', 'education', 'education_num', 'marital',
'occupation', 'relationship', 'race', 'sex', 'capital_gain', 'capital_loss',
'hours_week', 'native_country', 'label']
PATH = "https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"
df_train = pd.read_csv(PATH,
skipinitialspace=True,
names = COLUMNS,
index_col=False)
df_train.shape
Sortie :
(32561, 15)
Mรฉthode Pandas groupby()
Un moyen simple de voir les donnรฉes consiste ร utiliser la mรฉthode groupby. Cette mรฉthode peut vous aider ร rรฉsumer les donnรฉes par groupe. Vous trouverez ci-dessous une liste des mรฉthodes disponibles avec la mรฉthode groupby() :
- compter : compter
- minute : minute
- maximum : maximum
- signifier: signifier
- mรฉdiane : mรฉdiane
- รฉcart type : sdt
- etc
Dans groupby(), vous pouvez utiliser la colonne dans laquelle vous souhaitez appliquer la mรฉthode.
Examinons un seul groupeping avec l'ensemble de donnรฉes adultes. Vous obtiendrez la moyenne de toutes les variables continues par type de revenu, c'est-ร -dire supรฉrieur ร 50 000 ou infรฉrieur ร 50 000 :
df_train.groupby(['label']).mean()
| รฉtiquette | รขge | fnlwgt | num_education | gain_capital | perte_de_capital | heures_semaine |
|---|---|---|---|---|---|---|
| <= 50 | 36.783738 | 190340.86517 | 9.595065 | 148.752468 | 53.142921 | 38.840210 |
| > 50K | 44.249841 | 188005.00000 | 11.611657 | 4006.142456 | 195.001530 | 45.473026 |
Vous pouvez obtenir l'รขge minimum par type de foyer :
df_train.groupby(['label'])['age'].min() label <=50K 17 >50K 19 Name: age, dtype: int64
Vous pouvez รฉgalement regrouper sur plusieurs colonnes. Par exemple, vous pouvez obtenir une plus-value maximale en fonction du type de mรฉnage et de l'รฉtat civil.
df_train.groupby(['label', 'marital'])['capital_gain'].max()
label marital
<=50K Divorced 34095
Married-AF-spouse 2653
Married-civ-spouse 41310
Married-spouse-absent 6849
Never-married 34095
Separated 7443
Widowed 6849
>50K Divorced 99999
Married-AF-spouse 7298
Married-civ-spouse 99999
Married-spouse-absent 99999
Never-married 99999
Separated 99999
Widowed 99999
Name: capital_gain, dtype: int64
Vous pouvez crรฉer un graphique aprรจs un groupby. Une faรงon de procรฉder consiste ร utiliser un graphique aprรจs le groupby.ping.
Pour crรฉer un tracรฉ plus excellent, vous utiliserez unstack() aprรจs Mean() afin d'avoir le mรชme index multiniveau, ou vous joindrez les valeurs par revenus infรฉrieurs ร 50 50 et supรฉrieurs ร 14 2. Dans ce cas, la parcelle comportera deux groupes au lieu de 7 (*).
Si vous utilisez Jupyter Carnets, assurez-vous d'ajouter %matplotlib en ligne, sinon aucun tracรฉ ne sera affichรฉ
%matplotlib inline df_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack() df_plot
Rรฉsumรฉ
- Pour importer un ensemble de donnรฉes CSV dans Pandas, vous pouvez utiliser l'objet pd.read_csv().
- La mรฉthode groupby() peut vous aider ร rรฉsumer les donnรฉes par groupe.
- Vous pouvez รฉgalement regrouper sur plusieurs colonnes. Par exemple, vous pouvez obtenir une plus-value maximale en fonction du type de mรฉnage et de l'รฉtat civil.

