如何在 Pandas 中使用預設值向現有 DataFrame 新增新列

Suraj Joshi 2023年1月30日
  1. pandas.DataFrame.assign() 在 Pandas DataFrame 中新增新列
  2. 訪問新列以將其設定為預設值
  3. pandas.DataFrame.insert() 在 Pandas DataFrame 中新增新列
如何在 Pandas 中使用預設值向現有 DataFrame 新增新列

我們可以使用 DataFrame 物件的 assign()insert() 方法,以預設值向現有 DataFrame 新增新列。我們還可以將預設值直接分配給要建立的 DataFrame 列。

在以下各節中,我們將使用以下 DataFrame 作為示例。

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)

輸出:

       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() 在 Pandas DataFrame 中新增新列

我們可以使用 pandas.DataFrame.assign() 方法向現有的 DataFrame 新增新列,併為新建立的 DataFrame 列分配預設值。

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)

輸出:

       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

該程式碼在 DataFrame 中建立一個新列 Profit,並將整個列的值設定為 6

訪問新列以將其設定為預設值

我們可以使用 DataFrame 索引在 DataFrame 中建立新列並將其設定為預設值。

語法:

df[col_name] = value

它在 DataFrame df 中建立一個新列 col_name,並將整個列的預設值設定為 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)

輸出:

       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() 在 Pandas DataFrame 中新增新列

pandas.DataFrame.insert() 允許我們在 DataFrame 中在指定位置插入列。

語法:

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

它在位置 loc 處建立一個名稱為 column 的新列,預設值為 valueallow_duplicates=False 確保 dataFrame 中只有一列名為 column 的列。

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)

輸出:

       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

在這裡,名稱為 profit 的列被插入到索引 2,預設值為 4

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

相關文章 - Pandas DataFrame Column

相關文章 - Pandas DataFrame