Wie man eine neue Spalte zu einem bestehenden DataFrame mit Standardwert in Pandas hinzufügt

  1. pandas.DataFrame.assign() zum Hinzufügen einer neuen Spalte in Pandas DataFrame
  2. Zugriff auf die neue Spalte, um sie mit einem Vorgabewert zu setzen
  3. pandas.DataFrame.insert() zum Hinzufügen einer neuen Spalte in Pandas DataFrame

Wir könnten die Methoden assign() und insert() von DataFrame-Objekten verwenden, um eine neue Spalte mit Standardwerten in Pandas zu einem bestehenden DataFrame hinzuzufügen. Wir können der Spalte des zu erstellenden DataFrame auch direkt einen Standardwert zuweisen.

In den folgenden Abschnitten werden wir den untenstehenden DataFrame als Beispiel verwenden.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

print(df)

Ausgabe:

       Date   Fruit  Price
0  April-10   Apple      3
1  April-11  Papaya      1
2  April-12  Banana      2
3  April-13   Mango      4

pandas.DataFrame.assign() zum Hinzufügen einer neuen Spalte in Pandas DataFrame

Wir können die Methode pandas.DataFrame.assign() verwenden, um eine neue Spalte zum bestehenden DataFrame hinzuzufügen und die neu erstellte Spalte DataFrame mit Standardwerten zu belegen.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

new_df=df.assign(Profit=6)
print(new_df)

Ausgabe:

       Date   Fruit  Price  Profit
0  April-10   Apple      3       6
1  April-11  Papaya      1       6
2  April-12  Banana      2       6
3  April-13   Mango      4       6

Der Code erzeugt eine neue Spalte Profit im DataFrame und setzt die Werte der gesamten Spalte auf 6.

Zugriff auf die neue Spalte, um sie mit einem Vorgabewert zu setzen

Wir können die DataFrame-Indizierung verwenden, um eine neue Spalte in DataFrame zu erstellen und sie auf Standardwerte zu setzen.

Die Syntax:

df[col_name]=value

Es erzeugt eine neue Spalte col_name in DataFrame df und setzt den Standardwert für die gesamte Spalte auf value.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

df['Profit']=5
print(df)

Ausgabe:

       Date   Fruit  Price  Profit
0  April-10   Apple      3       5
1  April-11  Papaya      1       5
2  April-12  Banana      2       5
3  April-13   Mango      4       5

pandas.DataFrame.insert() zum Hinzufügen einer neuen Spalte in Pandas DataFrame

Mit pandas.DataFrame.insert() können wir eine Spalte an einer bestimmten Stelle in einen DataFrame einfügen.

Die Syntax:

DataFrame.insert(loc, column, value, allow_duplicates=False)

Es wird eine neue Spalte mit dem Namen column an der Stelle loc mit dem Standardwert value erzeugt. allow_duplicates=False stellt sicher, dass es nur eine Spalte mit dem Namen column im DataFrame gibt.

import pandas as pd

dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, 1, 2, 4]

df = pd.DataFrame({'Date':dates ,
                   'Fruit':fruits ,
                   'Price': prices})

df.insert(2, "profit", 4, allow_duplicates=False)
print(df

Ausgabe:

       Date   Fruit  profit  Price
0  April-10   Apple       4      3
1  April-11  Papaya       4      1
2  April-12  Banana       4      2
3  April-13   Mango       4      4

Hier wird eine Spalte mit dem Namen Profit am Index 2 mit dem Vorgabewert 4 eingefügt.

Verwandter Artikel - Pandas DataFrame Column

  • Dummies in Pandas holen
  • Pandas DataFrame-Spalte löschen
  • Verwandter Artikel - Pandas DataFrame

  • Wie man den Index eines Pandas-DataFrame in eine Spalte umwandelt
  • Wie man eine ganze Pandas-Serie/DataFrame schön druckt