¿Cómo filtrar datos en python?
El objetivo de este tutorial es comprender rápidamente cómo filtrar datos con Python.
Datos
import pandas as pd
noms = ['Jean', 'Lucie', 'Pierre', 'Marie', 'Antoine', 'Sophie']
ages = [25, 30, 20, 40, 35, 28]
villes = ['Paris', 'Lyon', 'Marseille', 'Toulouse', 'Bordeaux', 'Nantes']
df = pd.DataFrame({'Nom': noms, 'Age': ages, 'Ville': villes})
print(df)
Nom Age Ville
0 Jean 25 Paris
1 Lucie 30 Lyon
2 Pierre 20 Marseille
3 Marie 40 Toulouse
4 Antoine 35 Bordeaux
5 Sophie 28 Nantes
Filtros
Filtrar filas para personas menores de 30 años :
df_30 = df[df['Age'] < 30]
print(df_30)
Nom Age Ville
0 Jean 25 Paris
2 Pierre 20 Marseille
5 Sophie 28 Nantes
Selección de líneas para menores de 30 años que viven en Nantes o París :
df_filtre = df[(df['Age'] < 30) & ((df['Ville'] == 'Nantes') | (df['Ville'] == 'Paris'))]
print(df_filtre)
Nom Age Ville
0 Jean 25 Paris
5 Sophie 28 Nantes
Filtrar columnas solo por nombres y ciudades :
df_name_city = df[['Nom', 'Ville']]
print(df_name_city)
Nom Ville
0 Jean Paris
1 Lucie Lyon
2 Pierre Marseille
3 Marie Toulouse
4 Antoine Bordeaux
5 Sophie Nantes
Recuperación del nombre y la edad de personas menores de 30 años que viven en Nantes o París :
filtre = (df['Age'] < 30) & ((df['Ville'] == 'Nantes') | (df['Ville'] == 'Paris'))
df_filtre = df.loc[filtre, ['Nom', 'Age']]
print(df_filtre)
Nom Age
0 Jean 25
5 Sophie 28