Comment supprimer un élément de table dans un Pandas DataFrame. Un résumé des options de la méthode de dépôt en fonction de l'utilisation réelle.
C'est compliqué car il y a le même traitement avec des descriptions différentes, Vous pouvez supprimer une colonne en vous rappelant "colonnes = étiquette" et "index = étiquette".
Cliquez ici pour une liste d'options ▶ [Tableau de référence rapide de la liste d'options de méthode de dépôt](# 1 tableau de référence rapide de la liste d'options de méthode de dépôt)
option | Exemple de description | Contenu |
---|---|---|
(columns=label) | df.drop(columns=['x', 'y']) | Colonne x,Supprimer y |
(index=label) | df.drop(index=['A', 'B'] | Ligne A,Supprimer B |
(labe) | df.drop(['A', 'B']) | Ligne A,Supprimer B |
(label, axis='index') | df.drop(['A', 'B'], axis='index') | Ligne A,Supprimer B |
(label, axis=1) | df.drop(['x', 'y'], axis=1) | Colonne x,Supprimer y |
(label, axis='columns') | df.drop(['x', 'y'], axis='columns') | Colonne x,Supprimer y |
(errors='ignore') | df.drop(['aaa'], axis='columns', errors='ignore') | Ignorer l'erreur |
(inplace=True) | df.drop(['A', 'B'], inplace=True) | Écraser |
Code de table
import pandas as pd
listA = ['AAA', 'BBB', 'CCC', 'DDD']
listB = ['EEE', 'FFF', 'GGG', 'HHH']
listC = ['III', 'JJJ', 'KKK', 'LLL']
listD = ['MMM', 'NNN', 'OOO', 'PPP']
df = pd.DataFrame(listA)
df[1] = listB
df[2] = listC
df[3] = listD
df.columns = ['aaa', 'bbb', 'ccc', 'ddd']
df.index = [111,222,333,444]
df
①drop(label, axis) ②drop(index=label) ③drop(columns=label)
** Type de base **
df.drop(label, axis=A)
└ "df": données de table (type DataFrame)
└ "drop ()": méthode Drop
└ "label": nom de ligne / colonne à supprimer
└ "axis = A": spécifiez la ligne ou la colonne avec A
** ▼ Point **
** ▼ Comment spécifier 4 axes **
valeur | Exemple de description | Contenu |
---|---|---|
0 | axis=0(Optionnel) | 行名で指定。デフォルト。Optionnel |
1 | axis=1 | Spécifié par le nom de la colonne |
index | axis='index' | Spécifié par le nom de la ligne |
columns | axis='columns' | Spécifié par le nom de la colonne |
Les deux axes suivants (trois y compris les omissions) peuvent être décrits.
① axe = 0 (facultatif) ②axis='index'
(1-1) axis=0
df.drop([label1,label2,,,], axis=0)
df.drop([label1,label2,,,])
Même si axis = 0 est ** omis **, le même traitement est effectué.
** ▼ Spécifiez une seule colonne **
(axis=0) Omis
df.drop(333)
#production
aaa bbb ccc ddd
111 AAA EEE III MMM
222 BBB FFF JJJ NNN
444 DDD HHH LLL PPP
(axis=0) Aucune omission
df.drop(333, axis=0)
#production
aaa bbb ccc ddd
111 AAA EEE III MMM
222 BBB FFF JJJ NNN
444 DDD HHH LLL PPP
Noms de colonnes multiples
df.drop([111,333])
#production
aaa bbb ccc ddd
222 BBB FFF JJJ NNN
444 DDD HHH LLL PPP
df.drop([label1,label2,,,], axis='index')
axis='index'
df.drop([111,333], axis='index')
#production
aaa bbb ccc ddd
222 BBB FFF JJJ NNN
444 DDD HHH LLL PPP
①axis=1 ②axis='columns'
(1-3) axis=1
df.drop([label1,label2,,,], axis=1)
└ «1» de l'axe = 1 pointe vers la ligne du nom de la colonne.
** ▼ Spécifiez une seule colonne ** Dans le cas d'une colonne, le même traitement est effectué même s'il n'y a pas de [].
df.drop(['AAA'], axis=1)
df.drop('AAA', axis=1)
(axis=1)
df.drop('bbb', axis=1)
#production
aaa ccc ddd
111 AAA III MMM
222 BBB JJJ NNN
333 CCC KKK OOO
444 DDD LLL PPP
Noms de colonnes multiples
df.drop(['bbb','ddd'], axis=1)
#production
aaa ccc
111 AAA III
222 BBB JJJ
333 CCC KKK
444 DDD LLL
df.drop([label1,label2,,,], axis='columns')
axis='columns'
df.drop(['bbb','ddd'], axis='columns')
#production
aaa ccc
111 AAA III
222 BBB JJJ
333 CCC KKK
444 DDD LLL
df.drop(index=label)
└ Décrivez le nom de la ligne que vous souhaitez supprimer dans «étiquette».
index=label
df.drop(index=[222,444])
#production
aaa bbb ccc ddd
111 AAA EEE III MMM
333 CCC GGG KKK OOO
Le processus est le même que les trois suivants.
df.drop(label)
df.drop(label, axis=0)
df.drop(label, axis='index')
df.drop(columns=label)
└ "étiquette": décrivez le nom de la colonne que vous souhaitez supprimer
index=label
df.drop(columns=['ddd','bbb'])
#production
aaa ccc
111 AAA III
222 BBB JJJ
333 CCC KKK
444 DDD LLL
Identique aux deux suivants.
df.drop(label, axis=1)
df.drop(label, axis='columns')
La valeur par défaut est de créer un nouvel objet sans modifier la table d'origine. (Il peut être restauré même s'il est supprimé par erreur)
Option pour désactiver cette fonctionnalité.
inplace=True
└ La valeur par défaut est "False"
Autoriser l'écrasement
df.drop(columns=['ddd','bbb'], inplace=True)
df
#production
aaa ccc
111 AAA III
222 BBB JJJ
333 CCC KKK
444 DDD LLL
La table d'origine (df) a été réécrite.
Supprimer la colonne inexistante
df.drop(columns=['xxx'], errors='ignore')
Rien ne s'affiche.
S'il n'y a pas de description de "errors = 'ignore'", il sera affiché comme suit. ⇒「KeyError: "['xxx'] not found in axis"」
Recommended Posts