Spalte mit einem konstanten Wert in Pandas hinzufügen

Olorunfemi Akinlua 21 Juni 2023
  1. Verwenden Sie eine in-place-Zuweisung, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen
  2. Verwenden Sie die loc-Methode, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen
  3. Verwenden Sie die Funktion assign(), um eine Spalte mit konstantem Wert in Pandas hinzuzufügen
  4. Verwenden Sie die fromkeys()-Methode, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen
  5. Verwenden Sie die series()-Methode, um eine Spalte mit konstantem Wert in Pandas hinzuzufügen
  6. Verwenden Sie die Funktion apply(), um eine Spalte mit einem konstanten Wert in Pandas hinzuzufügen
Spalte mit einem konstanten Wert in Pandas hinzufü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 Akinlua avatar Olorunfemi Akinlua avatar

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.

LinkedIn

Verwandter Artikel - Pandas DataFrame