Sélection des sous-ensemble d'un DataFrame en pandas

Pour reconnaitre les dimension de votre Dataframe ou Serie on peut utiliser "shape".

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

output

(891, 12)

Chaque colonne d'un DataFrame est une série. Comme une seule colonne est sélectionnée, l'objet renvoyé est une série pandas. Nous pouvons le vérifier en vérifiant le type de la sortie :

ages = titanic["Age"]
ages.head()

output

0    22.0
1    38.0
2    26.0
3    35.0
4    35.0
Name: Age, dtype: float64

Type d'une colonne

type(titanic["Age"])

output

pandas.core.series.Series

Dimension d'une serie

titanic["Age"].shape

output

(891,)

On peut aussi selectionner quelque colonnes d'une dataframe.

age_sex = titanic[["Age", "Sex"]]
age_sex.head()

output

	Age	Sex
0	22.0	male
1	38.0	female
2	26.0	female
3	35.0	female
4	35.0	male

Afficher les dimension de la nouvelle dataframe age_sex.

titanic[["Age", "Sex"]].shape

output

(891, 2)

Affiche le type de la nouvelle dataframe age_sex.

type(titanic[["Age", "Sex"]])

output

pandas.core.frame.DataFrame

Créer une requête à l'aide dataframe, comme exemple sélectionner les passagers plus agé que 35 ans.

above_35 = titanic[titanic["Age"] > 35]
above_35.head()

output

PassengerId	Survived	Pclass	Name	Sex	Age	SibSp	Parch	Ticket	Fare	Cabin	Embarked
1	2	1	1	Cumings, Mrs. John Bradley (Florence Briggs Th...	female	38.0	1	0	PC 17599	71.2833	C85	C
6	7	0	1	McCarthy, Mr. Timothy J	male	54.0	0	0	17463	51.8625	E46	S
11	12	1	1	Bonnell, Miss. Elizabeth	female	58.0	0	0	113783	26.5500	C103	S
13	14	0	3	Andersson, Mr. Anders Johan	male	39.0	1	5	347082	31.2750	NaN	S
15	16	1	2	Hewlett, Mrs. (Mary D Kingcome)	female	55.0	0	0	248706	16.0000	NaN	S

les dimensions de  above_35

above_35.shape

output

(217, 12)

Autre exemple de requetes:

class_23 = titanic[(titanic["Pclass"] == 2) | (titanic["Pclass"] == 3)]
age_no_na = titanic[titanic["Age"].notna()]

Localisation à l'aide de "loc" et "iloc"

adult_names = titanic.loc[titanic["Age"] > 35, "Name"]
adult_names.head()

output

1     Cumings, Mrs. John Bradley (Florence Briggs Th...
6                               McCarthy, Mr. Timothy J
11                             Bonnell, Miss. Elizabeth
13                          Andersson, Mr. Anders Johan
15                     Hewlett, Mrs. (Mary D Kingcome) 
Name: Name, dtype: object

iloc

titanic.iloc[9:25, 2:5]

output

	Pclass	Name	Sex
9	2	Nasser, Mrs. Nicholas (Adele Achem)	female
10	3	Sandstrom, Miss. Marguerite Rut	female
11	1	Bonnell, Miss. Elizabeth	female
12	3	Saundercock, Mr. William Henry	male
13	3	Andersson, Mr. Anders Johan	male
14	3	Vestrom, Miss. Hulda Amanda Adolfina	female
15	2	Hewlett, Mrs. (Mary D Kingcome)	female
16	3	Rice, Master. Eugene	male
17	2	Williams, Mr. Charles Eugene	male
18	3	Vander Planke, Mrs. Julius (Emelia Maria Vande...	female
19	3	Masselmani, Mrs. Fatima	female
20	2	Fynney, Mr. Joseph J	male
21	2	Beesley, Mr. Lawrence	male
22	3	McGowan, Miss. Anna "Annie"	female
23	1	Sloper, Mr. William Thompson	male
24	3	Palsson, Miss. Torborg Danira	female

On peut aussi faire des modification à l'aide de "loc" et "iloc", comme exemple.

titanic.iloc[0:3, 3] = "anonymous"