Pandas read_csv() avec exemple

Importer CSV dans Pandas

Au cours du didacticiel TensorFlow, vous utiliserez l'ensemble de données pour adultes. Il est souvent utilisé avec une tâche de classification. Il est disponible dans cette 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.

Jetons un coup d'œil à un seul groupe avec l'ensemble de données pour adultes. Vous obtiendrez la moyenne de toutes les variables continues par type de revenus, c'est-à-dire au-dessus de 50 50 ou en dessous de  :

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 tracé suivant groupby. Une façon de procéder consiste à utiliser un tracé après le regroupement.

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.