Maison  >  Article  >  développement back-end  >  Bases du traitement des données Pandas : filtrer les données dans des lignes ou des colonnes spécifiées

Bases du traitement des données Pandas : filtrer les données dans des lignes ou des colonnes spécifiées

不言
不言original
2018-05-03 13:31:4221976parcourir

Cet article présente principalement les bases du traitement des données des pandas et des informations pertinentes sur le filtrage des données dans des lignes ou des colonnes spécifiées. Les amis dans le besoin peuvent s'y référer

Les deux principales structures de données des pandas sont : les séries ( équivalent à une structure de données dans une ligne ou une colonne) et DataFrame (équivalent à une structure de données tabulaire avec plusieurs lignes et colonnes).

Pour faciliter la compréhension, cet article fera une analogie avec les lignes ou colonnes d'exploitation Excel ou SQL

Réindexer : réindexer et ix

Comme introduit dans l'article précédent, l'index de ligne par défaut après la lecture des données est 0, 1, 2, 3... ces numéros de séquence. L'index de colonne est équivalent au nom du champ (c'est-à-dire que la première ligne de données signifie ici que vous pouvez remodifier l'index par défaut comme vous le souhaitez).

Série 1.1

Par exemple : data=Series([4,5,6],index=['a','b','c']), l'index de la ligne est une,b,c.

Nous utilisons data.reindex(['a','c','d','e']) pour modifier l'index et le résultat est :

On peut comprendre qu'après avoir utilisé la réindexation pour définir l'index, nous faisons correspondre la valeur correspondante dans les données d'origine en fonction de l'index, et la valeur sans correspondance est NaN.

1.2 DataFrame

(1) Modification de l'index de ligne : l'index de ligne DataFrame est le même que Series

(2) Modification de l'index de colonne : l'index de colonne utilise reindex(columns=[ 'm1' ,'m2','m3']), utilisez le paramètre columns pour préciser la modification de l'index de la colonne. Modifier la logique similaire à l'index de ligne équivaut à utiliser un nouvel index de colonne pour faire correspondre les données d'origine. S'il n'y a pas de correspondance, définissez NaN

. Exemple :

(3) Pour modifier les index de lignes et de colonnes en même temps, vous pouvez utiliser

2. Déposez les colonnes sur le spécifié axe (en termes simples, supprimer des lignes ou des colonnes) :dropSélectionnez la ligne ou la colonne à supprimer par index

data.drop(['a','c']) 相当于delete table a where xid='a' or xid='c'

data.drop('m1',axis=1)相当于delete table a where yid='m1'

3. Sélection et filtrage (en termes simples, cela signifie filtrer les requêtes selon des conditions en SQL)Parce qu'il existe un index de ligne et de colonne en python, il sera plus pratique de filtrer les données

Série 3.1

(1) Sélectionnez en fonction de l'index de ligne tel que

obj['b'] est équivalent à

est équivalent à

, et les résultats sont affichés dans l'ordre b, a, c C'est la différence avec sql La différence entre obj[. 0:1] et obj['a':'b'] est le suivant : select * from tb where xid='b'obj['b','a','c']select * from tb where xid in ('a','b','c')#Le premier n'inclut pas la fin, et le second inclut la fin

(2) Filtrer obj[obj>-0,6] en fonction de la taille de la valeur, ce qui équivaut aux données obj Rechercher les enregistrements avec une valeur supérieure à -0,6 pour l'affichage

3.2 DataFrame

(1) Sélectionnez une seule ligne en utilisant ix ou xs :

Si vous filtrez l'enregistrement de ligne avec l'index b, utilisez les trois méthodes suivantes

(2) Sélectionnez plusieurs lignes :

Filtrez l'index comme a, b La méthode d'enregistrement sur deux lignes

#Ce qui précède ne peut pas être écrit directement car data[['a','b']]

data[0:2 ] représente les enregistrements de la première ligne à la deuxième ligne. La première ligne commence à compter à partir de 0 par défaut, en excluant le 2 à la fin.

(3) Sélectionnez une seule colonne

Filtrez toutes les données d'enregistrement de ligne dans la colonne m1

(4) Sélectionnez plusieurs colonnes

Filtrez les deux colonnes m1 et m3 et enregistrez les données dans toutes les lignes

ix[:,['m1','m2']] devant of : signifie que toutes les lignes sont filtrées.

(5) Filtrer les lignes ou les colonnes en fonction de la condition de taille de la valeur

Par exemple, filtrer tous les enregistrements avec une valeur de colonne supérieure à 4 équivaut à sélectionner * from tb où colonne nom>4

(6) Si vous filtrez tous les enregistrements avec une valeur de colonne supérieure à 4 et n'affichez que certaines colonnes

Utilisez les conditions pour filtrez les lignes et utilisez [0,2] pour filtrer les données dans les première et troisième colonnes

Recommandations associées :

Sélectionnez les lignes et les colonnes en fonction des échantillons de données Pandas. Méthodes pour

python3 pandas pour lire les données MySQL et insérer

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