如何在 Pandas 中使用預設值向現有 DataFrame 新增新列
Suraj Joshi
2023年1月30日
-
pandas.DataFrame.assign()
在 Pandas DataFrame 中新增新列 - 訪問新列以將其設定為預設值
-
pandas.DataFrame.insert()
在 Pandas DataFrame 中新增新列
![如何在 Pandas 中使用預設值向現有 DataFrame 新增新列](/img/Python-Pandas/feature-image---How-to-add-a-new-column-to-existing-DataFrame-with-default-value-in-Pandas.webp)
我們可以使用 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
的新列,預設值為 value
。allow_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 is a backend software engineer at Matrice.ai.
LinkedIn相關文章 - Pandas DataFrame Column
- 如何將 Pandas DataFrame 列標題獲取為列表
- 如何刪除 Pandas DataFrame 列
- 如何在 Pandas 中將 DataFrame 列轉換為日期時間
- 如何獲得 Pandas 列中元素總和
- 如何更改 Panas DataFrame 列的順序
- 如何在 Pandas 中將 DataFrame 列轉換為字串