Iterieren durch Spalten eines Pandas DataFrame
-
Verwenden Sie die
getitem
([]
) Syntax, um über Spalten in Pandas DataFrame zu iterieren -
Verwenden Sie
dataframe.iteritems()
, um über Spalten in Pandas Dataframe zu iterieren -
Mit
enumerate()
über Pandas-Spalten iterieren
DataFrames können sehr groß sein und Hunderte von Zeilen und Spalten enthalten. Es ist notwendig, über Spalten eines DataFrames zu iterieren und Operationen auf einzelnen Spalten durchzuführen, wie z. B. Regression und vieles mehr.
Wir können die for
-Schleife verwenden, um über die Spalten eines DataFrame zu iterieren. Die grundlegende Syntax der for
-Schleife ist unten angegeben:
for value in sequence:
# Body of Loop
Wir können mehrere Methoden verwenden, um die for
-Schleife über einen DataFrame laufen zu lassen, z. B. die getitem
-Syntax (die []
), die dataframe.iteritems()
-Funktion, die enumerate()
-Funktion und die Verwendung des Index eines DataFrame.
Verwenden Sie die getitem
([]
) Syntax, um über Spalten in Pandas DataFrame zu iterieren
Wir können Spalten-Labels verwenden, um die for
-Schleife über den DataFrame mit der getitem
-Syntax ([]
) auszuführen. Ein Beispiel:
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
print(df)
print("------------------")
for column in df:
print(df[column].values)
Ausgabe:
a b c d
0 10 6 7 8
1 1 9 12 14
2 5 8 10 6
------------------
[10 1 5]
[6 9 8]
[ 7 12 10]
[ 8 14 6]
Die Funktion values()
wird verwendet, um die Elemente des Objekts als Liste zu extrahieren.
Verwenden Sie dataframe.iteritems()
, um über Spalten in Pandas Dataframe zu iterieren
Pandas stellt die Funktion dataframe.iteritems()
zur Verfügung, die dabei hilft, über einen DataFrame zu iterieren und den Spaltennamen und dessen Inhalt als Reihe zurückgibt.
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
for (colname, colval) in df.iteritems():
print(colname, colval.values)
Ausgabe:
a [10 1 5]
b [6 9 8]
c [ 7 12 10]
d [ 8 14 6]
Mit enumerate()
über Pandas-Spalten iterieren
Die Funktion enumerate()
mit DataFrame liefert den Index und die Spaltenbezeichnung, womit wir darüber iterieren können.
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
for (index, colname) in enumerate(df):
print(index, df[colname].values)
Ausgabe:
0 [10 1 5]
1 [6 9 8]
2 [ 7 12 10]
3 [ 8 14 6]
Wir können sehr effizient jede der oben genannten Methoden verwenden, um über den DataFrame zu iterieren. Wir können auch Operationen wie Regressionen über einzelne Spalten ausführen. Zum Beispiel können wir die letzte Spalte als unabhängige Variable festlegen und OLS-Regressionen mit anderen Spalten als abhängige Variablen durchführen, wie im folgenden Beispiel gezeigt:
import pandas as pd
import statsmodels.api as sm
import numpy as np
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
for column in df:
Y = df["d"]
X = df[column]
X = sm.add_constant(X)
model = sm.OLS(X, Y)
results = model.fit()
print(results.params)
Ausgabe:
0 1
d 0.094595 0.418919
0 1
d 0.094595 0.75
0 1
d 0.094595 0.959459
0 1
d 0.094595 1.0
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.
LinkedInVerwandter Artikel - Pandas DataFrame
- Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
- Pandas DataFrame-Spalte löschen
- Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
- Wie konvertiert man eine Fließkommazahl in eine Ganzzahl in Pandas DataFrame
- Wie man Pandas-DataFrame nach den Werten einer Spalte sortiert
- Wie erhält man das Aggregat der Pandas gruppenweise und sum