Spalten-Slices von DataFrame in Pandas nehmen

Manav Narula 26 Dezember 2020
  1. Mit loc() Spalten im Pandas-DataFrame slicen
  2. Verwendung von iloc() zum Spalten-Slicing in Pandas DataFrame
  3. Verwenden von redindex() zum Schneiden von Spalten in Pandas DataFrame
Spalten-Slices von DataFrame in Pandas nehmen

Column-Slicing in Pandas erlaubt uns, den Dataframe in Teilmengen zu zerschneiden, d.h. es wird ein neuer Pandas-Dataframe aus dem Original mit nur den benötigten Spalten erstellt. Wir werden mit dem folgenden Dataframe als Beispiel für das Column-Slicing arbeiten.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
print(df)

Ausgabe:

          a         b         c         d
0  0.797321  0.468894  0.335781  0.956516
1  0.546303  0.567301  0.955228  0.557812
2  0.385315  0.706735  0.058784  0.578468
3  0.751037  0.248284  0.172229  0.493763

Mit loc() Spalten im Pandas-DataFrame slicen

Die Pandas-Bibliothek stellt uns mehr als eine Methode zur Verfügung, um das Spalten-Slicing durchzuführen. Die erste ist die Verwendung der Funktion loc().

Die Funktion loc() von Pandas ermöglicht uns den Zugriff auf die Elemente eines Dataframes über Spaltennamen oder Indexbezeichnungen. Die Syntax für das Spalten-Slicing mit loc():

dataframe.loc[:, [columns]]

Beispiel:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
df1 = df.loc[:, "a":"c"]  # Returns a new dataframe with columns a,b and c
print(df1)

Ausgabe:

          a         b         c
0  0.344952  0.611792  0.213331
1  0.907322  0.992097  0.080447
2  0.471611  0.625846  0.348778
3  0.656921  0.999646  0.976743

Verwendung von iloc() zum Spalten-Slicing in Pandas DataFrame

Wir können auch die Funktion iloc() verwenden, um auf Elemente eines Dataframes zuzugreifen, indem wir den ganzzahligen Index von Zeilen und Spalten verwenden. Die Syntax für das Spalten-Slicing mit iloc():

dataframe.iloc[:, [column - index]]

Beispiel:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
df1 = df.iloc[:, 0:2]  # Returns a new dataframe with first two columns
print(df1)

Ausgabe:

          a         b
0  0.034587  0.070249
1  0.648231  0.721517
2  0.485168  0.548045
3  0.377612  0.310408

Verwenden von redindex() zum Schneiden von Spalten in Pandas DataFrame

Die Funktion reindex() kann auch zum Ändern der Indizes des DataFrames verwendet werden und kann für das Spalten-Slicing genutzt werden. Die Funktion reindex() kann viele Argumente entgegennehmen, aber für das Spalten-Slicing müssen wir der Funktion nur die Spaltennamen übergeben.

Die Syntax für das Spalten-Slicing mit reindex():

dataframe.reindex(columns=[column_names])

Beispiel:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
# Returns a new dataframe with c and b columns
df1 = df.reindex(columns=["c", "b"])
print(df1)

Ausgabe:

          c         b
0  0.429790  0.962838
1  0.605381  0.463617
2  0.922489  0.733338
3  0.741352  0.118478
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Pandas DataFrame