Spalte mit einem konstanten Wert in Pandas hinzufügen
-
Verwenden Sie eine
in-place
-Zuweisung, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen -
Verwenden Sie die
loc
-Methode, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen -
Verwenden Sie die Funktion
assign()
, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen -
Verwenden Sie die
fromkeys()
-Methode, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen -
Verwenden Sie die
series()
-Methode, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen -
Verwenden Sie die Funktion
apply()
, um eine Spalte mit einem konstanten Wert in Pandas hinzuzufügen
Oft laden wir Daten aus externen Quellen wie CSV
, JSON
oder füllen sie basierend auf der numpy
-Bibliothek auf. Aber darüber hinaus müssen wir eine neue Datenspalte mit Werten erstellen, mit denen wir arbeiten können.
Um dies zu erreichen, können wir verschiedene Ansätze mit unterschiedlicher Komplexität für bestimmte Anwendungsfälle verwenden. In diesem Artikel werden sechs (6) Möglichkeiten zum Hinzufügen von Spalten mit einem konstanten Wert in Pandas erläutert.
Verwenden Sie eine in-place
-Zuweisung, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen
Der einfachste Weg, eine Spalte mit einem konstanten Wert in Pandas hinzuzufügen, ist die Verwendung des typischen Zuweisungsoperators (=
). Bei der Verwendung weisen wir den konstanten Wert einem neuen Spaltennamen zu, indem wir die Notation eckige Klammer
wie unten verwenden.
DataFrame["column name"] = value
Lassen Sie uns dies veranschaulichen, indem wir einen randomisierten Datenrahmen (mit drei Spalten – A
, B
und C
) mit numpy
erstellen und dann eine neue Spalte (mit dem Namen D
) mit einem konstanten Wert von 0.1
hinzufügen.
Code:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(3, 3), columns=list("ABC"), index=[1, 2, 3])
print(df)
Ausgang:
A B C
1 0.466388 -0.626593 0.127939
2 -0.523171 0.778552 -1.056575
3 1.669556 -0.254253 0.855463
Um nun die neue Spalte D
mit dem konstanten Wert 0.1
hinzuzufügen, reicht der folgende Code aus.
Code:
df["D"] = 0.1
print(df)
Ausgang:
A B C D
1 -0.099164 0.100860 0.070556 0.1
2 -0.693606 -0.226484 0.032315 0.1
3 0.831928 -0.545919 1.759017 0.1
Verwenden Sie die loc
-Methode, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen
Die loc
-Methode ist ein weiterer Ansatz, mit dem wir eine Spalte mit einem konstanten Wert in Pandas hinzufügen können. Die loc
-Methode ermöglicht es uns, einen Teil des DataFrames nach Zeilen- und Spaltennamen zu indizieren, sodass wir mit der loc
-Methode eine neue Spalte auswählen können (wie wir es bei der quadratischen Notation
im vorherigen Abschnitt getan haben) und a zuweisen neuer Spaltenname.
Lassen Sie uns einen neuen Spaltennamen – E
– mit einem konstanten Wert von 0.2
hinzufügen, indem wir die loc
-Methode verwenden.
Code:
df.loc[:, "E"] = 0.2
print(df)
Ausgang:
A B C E
1 -0.233729 -0.343784 -0.354388 0.2
2 -0.529278 -0.239034 0.791784 0.2
3 -0.498778 0.165311 2.983666 0.2
Das :
gibt an, dass alle Zeilen indiziert werden, die Spalte E
wird angegeben und ihr wird dann der Wert 0.2
zugewiesen.
Verwenden Sie die Funktion assign()
, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen
Ein weiterer Ansatz, um die Operation zum Hinzufügen einer Spalte mit einem konstanten Wert in Pandas zu erreichen, ist die Funktion assign()
. Die Funktion assign()
ist eine spezielle Funktion, die entwickelt wurde, um einem Pandas DataFrame neue Spalten zuzuweisen, wobei der Name der Spalte als Argument der Funktion übergeben wird.
Damit erstellen wir eine neue Spalte – F
– mit einem zugewiesenen Wert – 0.3
im df
DataFrame, den wir im Artikel verwendet haben.
Code:
df = df.assign(F=0.3)
print(df)
Ausgang:
A B C D E F
1 1.474679 -0.369649 0.258509 0.1 0.2 0.3
2 -0.887326 -0.097165 0.394489 0.1 0.2 0.3
3 -1.763712 0.631679 -0.667194 0.1 0.2 0.3
Verwenden Sie die fromkeys()
-Methode, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen
Wenn wir bei der assign()
-Funktion dennoch mehrere Spalten mit einem konstanten Wert in Pandas hinzufügen möchten, können wir die assign()
-Funktion und die dict.fromkeys()
-Funktionen verwenden. Die Funktion fromkeys()
nimmt zwei Argumente entgegen.
Das erste Argument ist die Liste, die die Spaltennamen enthält, und das zweite Argument ist der konstante Wert, den wir in den übergebenen Spalten haben wollen. fromkeys()
gibt ein Wörterbuch zurück, das basierend auf dem ersten Argument (Liste) und dem zweiten Argument (Wert) für eine Schlüsselpaarbeziehung erstellt wurde.
Danach wird das Wörterbuch für die Funktion assign()
geparst, und das **
dient als Idiom, das eine beliebige Anzahl von Argumenten (das Wörterbuch) für die Funktion zulässt.
Code:
newColumns = ["G", "H", "I"]
df = df.assign(**dict.fromkeys(newColumns, 0.4))
print(df)
Ausgang:
A B C D E F G H I
1 1.474679 -0.369649 0.258509 0.1 0.2 0.3 0.4 0.4 0.4
2 -0.887326 -0.097165 0.394489 0.1 0.2 0.3 0.4 0.4 0.4
3 -1.763712 0.631679 -0.667194 0.1 0.2 0.3 0.4 0.4 0.4
Anstatt die Liste und die Funktion fromkeys()
zu verwenden, können wir angeben, welchen konstanten Wert jede Spalte haben soll, indem wir direkt ein Wörterbuch erstellen und die Funktion assign()
verwenden. Auf diese Weise haben wir für jede Spalte unterschiedliche konstante Werte.
Code:
newDictColumns = {"J": 0.5, "K": 0.6, "L": 0.7}
df = df.assign(**newDictColumns)
print(df)
Ausgang:
A B C D E F G H I J K L
1 1.474679 -0.369649 0.258509 0.1 0.2 0.3 0.4 0.4 0.4 0.5 0.6 0.7
2 -0.887326 -0.097165 0.394489 0.1 0.2 0.3 0.4 0.4 0.4 0.5 0.6 0.7
3 -1.763712 0.631679 -0.667194 0.1 0.2 0.3 0.4 0.4 0.4 0.5 0.6 0.7
Verwenden Sie die series()
-Methode, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen
Die Funktion series()
ermöglicht es uns, ein eindimensionales Array mit Achsenbeschriftungen zu erstellen. Um eine neue Spalte hinzuzufügen, verwenden wir das Listenverständnis, um den DataFrame index
zu durchlaufen und den konstanten Wert hinzuzufügen.
Lassen Sie uns eine Spalte M
hinzufügen, indem wir das Listenverständnis an die Funktion series()
übergeben.
Code:
df["M"] = pd.Series([0.8 for x in range(len(df.index) + 1)])
print(df)
Ausgang:
A B C D E F G H I J K L \
1 1.474679 -0.369649 0.258509 0.1 0.2 0.3 0.4 0.4 0.4 0.5 0.6 0.7
2 -0.887326 -0.097165 0.394489 0.1 0.2 0.3 0.4 0.4 0.4 0.5 0.6 0.7
3 -1.763712 0.631679 -0.667194 0.1 0.2 0.3 0.4 0.4 0.4 0.5 0.6 0.7
M
1 0.8
2 0.8
3 0.8
Verwenden Sie die Funktion apply()
, um eine Spalte mit einem konstanten Wert in Pandas hinzuzufügen
Wir können die Funktion apply()
verwenden, um eine Spalte mit einem konstanten Wert in Pandas hinzuzufügen, indem wir eine lambda
-Funktion übergeben, die den Wert jeder Zelle zuweist. Danach wird das Ergebnis der Funktion apply()
der square notation
der DataFrame-Spalte zugewiesen.
Lassen Sie uns dies in Aktion sehen, indem wir eine N
-Spalte mit einem konstanten Wert von 0.9
erstellen, indem wir eine lambda
-Funktion innerhalb der apply()
-Funktion verwenden.
Code:
df["N"] = df.apply(lambda x: 0.9, axis=1)
print(df)
Ausgang:
A B C D E F G H I J K L \
1 1.474679 -0.369649 0.258509 0.1 0.2 0.3 0.4 0.4 0.4 0.5 0.6 0.7
2 -0.887326 -0.097165 0.394489 0.1 0.2 0.3 0.4 0.4 0.4 0.5 0.6 0.7
3 -1.763712 0.631679 -0.667194 0.1 0.2 0.3 0.4 0.4 0.4 0.5 0.6 0.7
M N
1 0.8 0.9
2 0.8 0.9
3 0.8 0.9
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
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