Direkt zum Inhalt
HeimAnleitungenPython

Python Select Columns Tutorial

Verwende Python Pandas und wähle Spalten aus DataFrames aus. Folge unserem Tutorial mit Code-Beispielen und lerne noch heute verschiedene Möglichkeiten, deine Daten auszuwählen!
Aktualisierte 11. Sept. 2024  · 7 Min. lesen

Um den gesamten Beispielcode in diesem Lernprogramm selbst auszuführen, kannst du eine DataLab-Arbeitsmappe erstellenkostenlos erstellen, auf der Python vorinstalliert ist und die alle Codebeispiele enthält.

Wenn du einen DataFrame hast und auf bestimmte Zeilen/Spalten aus diesem DataFrame zugreifen oder sie auswählen möchtest, kannst du eckige Klammern oder andere fortgeschrittene Methoden wie loc und iloc verwenden.

Spalten mit eckigen Klammern auswählen

Angenommen, du möchtest die Länderspalte aus dem brics DataFrame auswählen. Dazu gibst du brics ein und dann die Spaltenbezeichnung innerhalb der eckigen Klammern.

Auswählen einer Spalte

          country     capital        area    population
BR         Brazil    Brasilia       8.516        200.40
RU         Russia      Moscow      17.100        143.50
IN         India    New Dehli       3.286       1252.00
CH         China      Beijing       9.597       1357.00
SA  South Africa     Pretoria       1.221         52.98
brics["country"]
BR         Brazil
RU         Russia
IN         India
CH         China
SA  South Africa
Name: country, dtype: object

Den Typ des Objekts prüfen

Überprüfen wir den Typ des Objekts, das mit der Typ-Funktion zurückgegeben wird.

type(brics["country"])
pandas.core.series.Series

Wie wir an der obigen Ausgabe sehen können, haben wir es hier mit einer pandas Serie zu tun! Reihen kann man sich als ein eindimensionales Array vorstellen, das genauso wie ein DataFrame beschriftet werden kann.

Wenn du Daten auswählen und in einem DataFrame speichern willst, musst du doppelte eckige Klammern verwenden:

brics[["country"]]
BR         Brazil
RU         Russia
IN         India
CH         China
SA  South Africa

Wenn wir den Typ dieser Ausgabe überprüfen, ist es ein DataFrame! Allerdings mit nur einer Spalte.

type(brics[["country"]])
pandas.core.frame.DataFrame

Auswählen mehrerer Spalten

Du kannst diesen Aufruf erweitern, um zwei Spalten auszuwählen. Versuchen wir, country und capital auszuwählen.

brics[["country", "capital"]]
          country     capital
BR         Brazil    Brasilia
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing
SA  South Africa     Pretoria

Wenn du dir das genau ansiehst, fügst du eine Liste mit Spaltenbeschriftungen in einen anderen Satz eckiger Klammern ein und hast am Ende einen Sub-DataFrame, der nur die Spalten country und capital enthält.

Python von Grund auf lernen

Beherrsche Python für Data Science und erwerbe gefragte Fähigkeiten.
Kostenloses Lernen Beginnen

Zeilen mit eckigen Klammern auswählen

Eckige Klammern können mehr als nur Spalten auswählen. Du kannst sie auch verwenden, um Zeilen oder Beobachtungen aus einem DataFrame abzurufen.

Beispiel

Du kannst Zeilen nur dann mit eckigen Klammern auswählen, wenn du einen Abschnitt angibst, wie 0:4. Außerdem verwendest du hier die Integer-Indizes der Zeilen, nicht die Zeilenbeschriftungen!

Um die zweite, dritte und vierte Zeile von brics DataFrame zu erhalten, verwenden wir die Slice 1 bis 4. Denke daran, dass das Ende des Slice exklusiv ist und der Index bei Null beginnt.

brics[1:4]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50
IN         India    New Dehli    3.286       1252.00
CH         China      Beijing    9.597       1357.00

Diese eckigen Klammern funktionieren zwar, aber sie bieten nur eine begrenzte Funktionalität. Im Idealfall wollen wir etwas ähnliches wie 2D Numpy Arrays, wo du auch eckige Klammern verwendest. Der Index oder Abschnitt vor dem Komma bezieht sich auf die Zeilen und der Abschnitt nach dem Komma auf die Spalten.

Beispiel für ein 2D Numpy Array:

my_array[rows, columns]

Wenn du etwas Ähnliches mit pandas machen willst, musst du dir die Funktionen loc und iloc ansehen.

  • loc: Label-basiert
  • iloc: Ganzzahlige Position-basiert

loc Funktion

loc ist eine Technik, mit der du Teile deiner Daten anhand von Beschriftungen auswählen kannst. Schauen wir uns den brics DataFrame an und holen wir uns die Zeilen für Russland.

Dazu setzt du das gewünschte Label in eckige Klammern hinter loc.

Zeilen auswählen

brics.loc["RU"]
country     Russia
capital     Moscow
area          17.1
population   143.5
Name: RU, dtype: object

Wir erhalten eine Reihe von pandas, die alle Informationen zu den Zeilen enthält; ungünstigerweise werden sie jedoch in verschiedenen Zeilen angezeigt. Um einen DataFrame zu erhalten, müssen wir den RU Stachel in ein weiteres Paar Klammern setzen. Wir können auch mehrere Zeilen gleichzeitig auswählen. Angenommen, du möchtest auch Indien und China einbeziehen. Füge diese Zeilenbeschriftungen einfach zur Liste hinzu.

brics.loc[["RU", "IN", "CH"]]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50
IN         India    New Dehli    3.286       1252.00
CH         China      Beijing    9.597       1357.00

Der Unterschied zwischen der Verwendung von loc und einfachen eckigen Klammern ist, dass du die Auswahl mit einem Komma und einer Angabe der interessierenden Spalten erweitern kannst.

Auswählen von Zeilen und Spalten

Erweitern wir den vorherigen Aufruf, um nur die Spalten country und capital einzubeziehen. Wir fügen ein Komma hinzu und listen die Spaltenbezeichnungen auf, die wir behalten wollen. Die Kreuzung wird zurückgegeben.

brics.loc[["RU", "IN", "CH"], ["country", "capital"]]
          country     capital
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing

Du kannst auch loc verwenden, um alle Zeilen, aber nur eine bestimmte Anzahl von Spalten auszuwählen. Ersetze einfach die erste Liste, die die Zeilenbezeichnungen angibt, durch einen Doppelpunkt. Ein Stück, das von Anfang bis Ende geht. Dieses Mal erhalten wir alle Zeilen zurück, aber nur zwei Spalten.

Alle Zeilen und bestimmte Spalten auswählen

brics.loc[:, ["country", "capital"]]
          country     capital
BR         Brazil    Brasilia
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing
SA  South Africa     Pretoria

iloc Funktion

Mit der Funktion iloc kannst du pandas DataFrames anhand ihrer Position oder ihres Indexes unterteilen.

Zeilen auswählen

Verwenden wir dieselben Daten und ähnliche Beispiele wie bei loc. Beginnen wir mit der Reihe für Russland.

brics.iloc[[1]]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50

Um die Reihen für Russland, Indien und China zu bekommen. Du kannst jetzt eine Liste mit dem Index 1, 2, 3 verwenden.

brics.iloc[[1, 2, 3]]
          country     capital     area    population
RU         Russia      Moscow   17.100        143.50
IN         India    New Dehli    3.286       1252.00
CH         China      Beijing    9.597       1357.00

Auswählen von Zeilen und Spalten

Ähnlich wie bei loc können wir auch mit iloc sowohl Zeilen als auch Spalten auswählen. Hier wählen wir die Zeilen für Russland, Indien und China und die Spalten country und capital aus.

brics.iloc[[1, 2, 3], [0, 1]]
          country     capital
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing

Alle Zeilen und bestimmte Spalten auswählen

Wenn du alle Zeilen auswählen möchtest, aber nur die Spalten country und capital behalten willst, kannst du das tun:

brics.loc[:, [0, 1]]
          country     capital
BR         Brazil    Brasilia
RU         Russia      Moscow
IN         India    New Dehli
CH         China      Beijing
SA  South Africa     Pretoria

loc und iloc sind sich ziemlich ähnlich. Der einzige Unterschied ist, wie du dich auf Spalten und Zeilen beziehst.

Interaktives Beispiel zur Auswahl einer Teilmenge von Daten

Im folgenden Beispiel werden die Fahrzeugdaten aus einer CSV-Datei als Pandas DataFrame importiert. Um nur die cars_per_cap column von Autos auszuwählen, kannst du verwenden:

cars['cars_per_cap']
cars[['cars_per_cap']]

Die Version mit einer Klammer ergibt eine Pandas-Reihe, die Version mit zwei Klammern einen Pandas-DataFrame.

  • Du verwendest einzelne eckige Klammern, um die Spalte country von cars als Pandas-Reihe auszudrucken.
  • Verwende dann doppelte eckige Klammern, um die Spalte country von cars als Pandas DataFrame auszudrucken.
  • Verwende schließlich die doppelten eckigen Klammern, um einen DataFrame mit den Spalten country und drives_right von cars auszudrucken, und zwar in dieser Reihenfolge.
# Import cars data
import pandas as pd
cars = pd.read_csv('cars.csv', index_col = 0)

# Print out country column as Pandas Series
print(cars['country'])

# Print out country column as Pandas DataFrame
print(cars[['country']])

# Print out DataFrame with country and drives_right columns
print(cars[['country', 'drives_right']])

Wenn wir den obigen Code ausführen, erhalten wir das folgende Ergebnis:

US     United States
AUS        Australia
JPN            Japan
IN             India
RU            Russia
MOR          Morocco
EG             Egypt
Name: country, dtype: object
           country
US   United States
AUS      Australia
JPN          Japan
IN           India
RU          Russia
MOR        Morocco
EG           Egypt
           country  drives_right
US   United States          True
AUS      Australia         False
JPN          Japan         False
IN           India         False
RU          Russia          True
MOR        Morocco          True
EG           Egypt          True

Probiere es selbst aus.

Um mehr über Pandas zu erfahren, schau dir dieses Video aus unserem Kurs Intermediate Python an.

Dieser Inhalt stammt aus dem DataCamp-Kurs Python für Fortgeschrittene von Hugo Bowne-Anderson.

Themen

Python-Kurse

Course

Intermediate Python

4 hr
1.1M
Level up your data science skills by creating visualizations using Matplotlib and manipulating DataFrames with pandas.
See DetailsRight Arrow
Start Course
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

15 Min.

See MoreSee More