Pandas: so entfernen sie spalten, die nicht in der liste enthalten sind
Sie können die folgende grundlegende Syntax verwenden, um Spalten aus einem Pandas-DataFrame zu entfernen, die nicht in einer bestimmten Liste enthalten sind:
#define columns to keep keep_cols = [' col1 ', ' col2 ', ' col3 '] #create new dataframe by dropping columns not in list new_df = df[df. columns . intersection (keep_cols)]
In diesem speziellen Beispiel werden alle Spalten aus dem DataFrame entfernt, die nicht gleich col1 , col2 oder col3 sind.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Entfernen Sie Spalten, die in Pandas nicht in der Liste enthalten sind
Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über verschiedene Basketballspieler enthält:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12], ' steals ': [4, 4, 10, 12, 8, 5, 5, 2]}) #view DataFrame print (df) team points assists rebounds steals 0 A 18 5 11 4 1 B 22 7 8 4 2 C 19 7 10 10 3 D 14 9 6 12 4 E 14 12 6 8 5 F 11 9 5 5 6 G 20 9 9 5 7:28 4 12 2
Nehmen wir nun an, wir möchten einen neuen DataFrame erstellen, der alle Spalten entfernt, die nicht in der folgenden Spaltenliste enthalten sind: Team , Points und Steles .
Wir können dazu die folgende Syntax verwenden:
#define columns to keep keep_cols = [' team ', ' points ', ' steals '] #create new dataframe by dropping columns not in list new_df = df[df. columns . intersection (keep_cols)] #view new dataframe print (new_df) team points steals 0 to 18 4 1 B 22 4 2 C 19 10 3 D 14 12 4 E 14 8 5 F 11 5 6 G 20 5 7:28 a.m. 2
Beachten Sie, dass alle Spalten im ursprünglichen DataFrame, die nicht in der keep_cols- Liste enthalten sind, aus dem neuen DataFrame entfernt wurden.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Panda-Aufgaben ausführen:
So entfernen Sie die erste Zeile in Pandas
So entfernen Sie die erste Spalte in Pandas
So entfernen Sie doppelte Spalten in Pandas
So löschen Sie alle Spalten außer einigen in Pandas