Maison  >  Article  >  développement back-end  >  À propos des opérations de base de pandas.DataFrame en python

À propos des opérations de base de pandas.DataFrame en python

Y2J
Y2Joriginal
2017-05-09 14:50:312465parcourir

Cet article vous présente principalement la méthode d'exclusion de lignes spécifiques dans pandas.DataFrame en python. L'article donne un exemple de code détaillé. Je pense qu'il a une certaine valeur de référence pour la compréhension et l'apprentissage de tous. Les amis qui en ont besoin peuvent suivre. un regard ensemble.

Avant-propos

Lorsque vous utilisez Python pour l'analyse de données, une structure de données que vous utilisez souvent est le pandas DataFrame À propos des opérations de base de pandas.DataFrame en python, vous pouvez consulter cet article.

pandas.DataFrame exclut des lignes spécifiques

Si nous voulons filtrer une ou certaines lignes comme Excel, nous pouvons utiliser la méthode isin(), transmettre les valeurs ​​des lignes requises dans une liste, ou vous pouvez transmettre un dictionnaire et spécifier les colonnes à filtrer.

Mais si nous voulons uniquement tout le contenu qui ne contient pas de ligne spécifique, il n'y a pas de méthode isnotin(). J'ai rencontré un tel besoin au travail aujourd'hui. Après avoir fréquemment cherché, j'ai découvert que je ne pouvais utiliser isin() que d'une autre manière pour répondre à ce besoin.

L'exemple est le suivant :

In [3]: df = pd.DataFrame([['GD', 'GX', 'FJ'], ['SD', 'SX', 'BJ'], ['HN', 'HB'
 ...: , 'AH'], ['HEN', 'HEN', 'HLJ'], ['SH', 'TJ', 'CQ']], columns=['p1', 'p2
 ...: ', 'p3'])

In [4]: df
Out[4]:
 p1 p2 p3
0 GD GX FJ
1 SD SX BJ
2 HN HB AH
3 HEN HEN HLJ
4 SH TJ CQ

Si vous voulez uniquement les deux lignes où p1 est GD et HN, vous pouvez faire ceci :

In [8]: df[df.p1.isin(['GD', 'HN'])]
Out[8]:
 p1 p2 p3
0 GD GX FJ
2 HN HB AH

Mais si l'on veut des données autres que ces deux lignes, il faut faire un détour.

Le principe est d'abord de retirer p1 et de le convertir en liste, puis de supprimer les lignes (valeurs) inutiles de la liste, puis d'utiliser isin()

In [9]: ex_list = list(df.p1)

In [10]: ex_list.remove('GD')

In [11]: ex_list.remove('HN')

In [12]: ex_list
Out[12]: ['SD', 'HEN', 'SH']

In [13]: df[df.p1.isin(ex_list)]
Out[13]:
 p1 p2 p3
1 SD SX BJ
3 HEN HEN HLJ
4 SH TJ CQ
dans le DataFrame

Résumé

[Recommandations associées]

1 Tutoriel vidéo gratuit Python

2. Tutoriel d'introduction de base

3

Tutoriel vidéo Python rencontre la collecte de données

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn