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

Mรฉthode Pandas groupby() Exemple

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.

Rรฉsumez cet article avec :