137 votes

Comment puis-je filtrer les lignes au chargement dans la fonction Pandas read_csv ?

Comment puis-je filtrer les lignes d'un CSV à charger en mémoire en utilisant pandas ? T read_csv . Est-ce que je rate quelque chose ?

Exemple : nous avons un CSV avec une colonne de timestamp et nous voudrions charger seulement les lignes qui ont un timestamp plus grand qu'une constante donnée.

-1voto

Sarath Avanavu Points 85

Considérons que vous avez le cadre de données ci-dessous

+----+--------+
| Id | Name   |
+----+--------+
|  1 | Sarath |
|  2 | Peter  |
|  3 | James  |
+----+--------+

Si vous devez filtrer un enregistrement où Id = 1 alors vous pouvez utiliser le code ci-dessous.

df = pd.read_csv('Filename.csv', sep = '|')
df = df [(df ["Id"] == 1)]

Ceci produira la sortie suivante.

+----+--------+
| Id | Name   |
+----+--------+
|  1 | Sarath |
+----+--------+

-7voto

user1083290 Points 31

Vous pouvez spécifier nrows paramètre.

import pandas as pd df = pd.read_csv('file.csv', nrows=100)

Ce code fonctionne bien dans la version 0.20.3.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X