Lecture et écriture des données tabulaires

Pandas utilise un moyen simple de stocker de grands ensembles de données qui consiste à utiliser des fichiers CSV (comma separated files).

Les fichiers CSV contiennent du texte brut et sont un format bien connu qui peut être et écrit lu par toutes les applications, y compris la bibliothèque Pandas.

Lecture des données

Dans nos exemples, nous utiliserons un fichier CSV appelé 'titanic.csv'.

Les données sont constituées des colonnes de données suivantes :

  • PassengerId : identifiant de chaque passager.
  • Survived : cette fonctionnalité a la valeur 0 et 1. 0 pour non survécu et 1 pour survécu.
  • Pclass : Il existe 3 classes : Classe 1, Classe 2 et Classe 3.
  • Name: Nom du passager.
  • Sexe : Sexe du passager.
  • Age: âge du passager.
  • SibSp : indication que le passager a des frères et sœurs et un conjoint.
  • Parch : si un passager est seul ou a de la famille.
  • Ticket: numéro de billet du passager.
  • Fare: indiquant le tarif.
  • Cabine : La cabine du passager.
  • Embarked: La catégorie embarqué.

le lien des données est le suivant: titanic.csv

Pour analyser les données des passagers du Titanic, disponibles sous forme de fichier CSV.

Il faut toujours indiquer le chemin de votre fichier csv.

import pandas as pd
titanic = pd.read_csv('https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv')
titanic

output

PassengerId	Survived	Pclass	Name	Sex	Age	SibSp	Parch	Ticket	Fare	Cabin	Embarked
0	1	0	3	Braund, Mr. Owen Harris	male	22.0	1	0	A/5 21171	7.2500	NaN	S
1	2	1	1	Cumings, Mrs. John Bradley (Florence Briggs Th...	female	38.0	1	0	PC 17599	71.2833	C85	C
2	3	1	3	Heikkinen, Miss. Laina	female	26.0	0	0	STON/O2. 3101282	7.9250	NaN	S
3	4	1	1	Futrelle, Mrs. Jacques Heath (Lily May Peel)	female	35.0	1	0	113803	53.1000	C123	S
4	5	0	3	Allen, Mr. William Henry	male	35.0	0	0	373450	8.0500	NaN	S
...	...	...	...	...	...	...	...	...	...	...	...	...
886	887	0	2	Montvila, Rev. Juozas	male	27.0	0	0	211536	13.0000	NaN	S
887	888	1	1	Graham, Miss. Margaret Edith	female	19.0	0	0	112053	30.0000	B42	S
888	889	0	3	Johnston, Miss. Catherine Helen "Carrie"	female	NaN	1	2	W./C. 6607	23.4500	NaN	S
889	890	1	1	Behr, Mr. Karl Howell	male	26.0	0	0	111369	30.0000	C148	C
890	891	0	3	Dooley, Mr. Patrick	male	32.0	0	0	370376	7.7500	NaN	Q

Si on veux voir les 'n' premières lignes d'un DataFrame en pandas, on peut utiliser la fonction head(n).

titanic.head(10)

output

	PassengerId	Survived	Pclass	Name	Sex	Age	SibSp	Parch	Ticket	Fare	Cabin	Embarked
0	1	0	3	Braund, Mr. Owen Harris	male	22.0	1	0	A/5 21171	7.2500	NaN	S
1	2	1	1	Cumings, Mrs. John Bradley (Florence Briggs Th...	female	38.0	1	0	PC 17599	71.2833	C85	C
2	3	1	3	Heikkinen, Miss. Laina	female	26.0	0	0	STON/O2. 3101282	7.9250	NaN	S
3	4	1	1	Futrelle, Mrs. Jacques Heath (Lily May Peel)	female	35.0	1	0	113803	53.1000	C123	S
4	5	0	3	Allen, Mr. William Henry	male	35.0	0	0	373450	8.0500	NaN	S
5	6	0	3	Moran, Mr. James	male	NaN	0	0	330877	8.4583	NaN	Q
6	7	0	1	McCarthy, Mr. Timothy J	male	54.0	0	0	17463	51.8625	E46	S
7	8	0	3	Palsson, Master. Gosta Leonard	male	2.0	3	1	349909	21.0750	NaN	S
8	9	1	3	Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)	female	27.0	0	2	347742	11.1333	NaN	S
9	10	1	2	Nasser, Mrs. Nicholas (Adele Achem)	female	14.0	1	0	237736	30.0708	NaN	C

Si on veux voir les 'n' dernières lignes d'un DataFrame en pandas, on peut utiliser la fonction tail(n).

titanic.tail(10)

output

PassengerId	Survived	Pclass	Name	Sex	Age	SibSp	Parch	Ticket	Fare	Cabin	Embarked
881	882	0	3	Markun, Mr. Johann	male	33.0	0	0	349257	7.8958	NaN	S
882	883	0	3	Dahlberg, Miss. Gerda Ulrika	female	22.0	0	0	7552	10.5167	NaN	S
883	884	0	2	Banfield, Mr. Frederick James	male	28.0	0	0	C.A./SOTON 34068	10.5000	NaN	S
884	885	0	3	Sutehall, Mr. Henry Jr	male	25.0	0	0	SOTON/OQ 392076	7.0500	NaN	S
885	886	0	3	Rice, Mrs. William (Margaret Norton)	female	39.0	0	5	382652	29.1250	NaN	Q
886	887	0	2	Montvila, Rev. Juozas	male	27.0	0	0	211536	13.0000	NaN	S
887	888	1	1	Graham, Miss. Margaret Edith	female	19.0	0	0	112053	30.0000	B42	S
888	889	0	3	Johnston, Miss. Catherine Helen "Carrie"	female	NaN	1	2	W./C. 6607	23.4500	NaN	S
889	890	1	1	Behr, Mr. Karl Howell	male	26.0	0	0	111369	30.0000	C148	C
890	891	0	3	Dooley, Mr. Patrick	male	32.0	0	0	370376	7.7500	NaN	Q

Pour recuper les types de données des colonnes on peut utiliser dtypes

titanic.dtypes

output

PassengerId      int64
Survived         int64
Pclass           int64
Name            object
Sex             object
Age            float64
SibSp            int64
Parch            int64
Ticket          object
Fare           float64
Cabin           object
Embarked        object
dtype: object

Ecriture des données

comme les fonctions read_* sont utilisées pour lire des données sur pandas, les méthodes to_* sont utilisées pour stocker des données dans un fichier, comme par exemple La méthode to_excel() stocke les données sous forme de fichier Excel.

titanic.to_excel("titanic.xlsx", sheet_name="passengers")

Dans cet exemple on stock les données dans un fichier excel avec extension xlsx nommé "titanic.xlsx" , dans une feuille nommée "passengers"

si on veut relir ce fichier on utilise la fonction read_excel()

titanic = pd.read_excel("titanic.xlsx", sheet_name="passengers")