如何在 Pandas DataFrame 中建立一個空列
- 通過簡單的分配建立 Pandas 空的列
-
在 Pandas 中用
pandas.DataFrame.reindex()
方法新增一個空列 -
pandas.DataFrame.assign()
在 Pandas DataFrame 中新增一個空列 -
pandas.DataFrame.insert()
將空列新增到 DataFrame
我們可以使用 DataFrame 物件的 reindex()
,assign()
和 insert()
方法在 Pandas 中向 DataFrame 新增一個空列。我們還可以直接為 DataFrame 的列分配一個空值,以在 Pandas 中建立一個空列。
通過簡單的分配建立 Pandas 空的列
我們可以直接將 DataFrame 的列分配給空字串,NaN
值或空 Pandas Series
,以在 Pandas 中建立一個空列。
import pandas as pd
import numpy as np
dates=['April-20', 'April-21', 'April-22', 'April-23','April-24','April-25']
income=[10,20,10,15,10,12]
expenses=[3,8,4,5,6,10]
df=pd.DataFrame({"Date":dates,
"Income":income,
"Expenses":expenses})
df["Empty_1"] = ""
df["Empty_2"] = np.nan
df['Empty_3'] = pd.Series()
print(df)
輸出:
Date Income Expenses Empty_1 Empty_2 Empty_3
0 April-20 10 3 NaN NaN
1 April-21 20 8 NaN NaN
2 April-22 10 4 NaN NaN
3 April-23 15 5 NaN NaN
4 April-24 10 6 NaN NaN
5 April-25 12 10 NaN NaN
它在 df 中建立三個空列。為 Empty_1
列分配空字串,為 Empty_2
分配 NaN 值,為 Empty_3
分配一個空 Pandas Series
,這也將導致整個 Empty_3
的值為 NaN。
在 Pandas 中用 pandas.DataFrame.reindex()
方法新增一個空列
我們可以使用 pandas.DataFrame.reindex()
方法向 Pandas 中的 DataFrame 新增多個空列。
import pandas as pd
import numpy as np
dates=['April-20', 'April-21', 'April-22', 'April-23','April-24','April-25']
income=[10,20,10,15,10,12]
expenses=[3,8,4,5,6,10]
df=pd.DataFrame({"Date":dates,
"Income":income,
"Expenses":expenses})
column_names=["Empty_1","Empty_2",'Empty_3']
df = df.reindex(columns = column_names)
print(df)
輸出:
Empty_1 Empty_2 Empty_3
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
5 NaN NaN NaN
該程式碼在 df 中使用所有 NaN 值建立了新列 Empty_1
,Empty_2
,Empty_3
,而所有舊資訊都丟失了。
要在保留初始列的同時新增多個新列,我們可以編寫如下程式碼:
import pandas as pd
import numpy as np
dates=['April-20', 'April-21', 'April-22', 'April-23','April-24','April-25']
income=[10,20,10,15,10,12]
expenses=[3,8,4,5,6,10]
df=pd.DataFrame({"Date":dates,
"Income":income,
"Expenses":expenses})
df = df.reindex(columns = df.columns.tolist() + ["Empty_1","Empty_2",'Empty_3'])
print(df)
輸出:
Date Income Expenses Empty_1 Empty_2 Empty_3
0 April-20 10 3 NaN NaN NaN
1 April-21 20 8 NaN NaN NaN
2 April-22 10 4 NaN NaN NaN
3 April-23 15 5 NaN NaN NaN
4 April-24 10 6 NaN NaN NaN
5 April-25 12 10 NaN NaN NaN
這樣會在保留初始資訊的情況下向 df 新增空列 Empty_1
,Empty_2
和 Empty_3
。
pandas.DataFrame.assign()
在 Pandas DataFrame 中新增一個空列
我們可以使用 pandas.DataFrame.assign()
方法向其中 Pandas 中的 DataFrame 新增一個空列。
import pandas as pd
import numpy as np
dates=['April-20', 'April-21', 'April-22', 'April-23','April-24','April-25']
income=[10,20,10,15,10,12]
expenses=[3,8,4,5,6,10]
df=pd.DataFrame({"Date":dates,
"Income":income,
"Expenses":expenses})
df=df.assign(Empty_1="",Empty_2=np.nan)
print(df)
輸出:
Date Income Expenses Empty_1 Empty_2
0 April-20 10 3 NaN
1 April-21 20 8 NaN
2 April-22 10 4 NaN
3 April-23 15 5 NaN
4 April-24 10 6 NaN
5 April-25 12 10 NaN
它將建立一個名為 Empty_1
和 Empty_2
的空列,僅在 df
中包含 NaN 值。
pandas.DataFrame.insert()
將空列新增到 DataFrame
pandas.DataFrame.insert()
允許我們在 DataFrame 中插入列指定位置。我們可以使用此方法向 DataFrame
新增一個空列。
語法:
DataFrame.insert(loc, column, value, allow_duplicates=False)
它在位置 loc
處建立一個名稱為 column
的新列,預設值為 value
。allow_duplicates = False
確保 DataFrame
中只有一列名為 column
的列。如果我們傳遞一個空字串或 NaN
值作為值引數,則可以向 DataFrame 新增一個空列。
import pandas as pd
import numpy as np
dates=['April-20', 'April-21', 'April-22', 'April-23','April-24','April-25']
income=[10,20,10,15,10,12]
expenses=[3,8,4,5,6,10]
df=pd.DataFrame({"Date":dates,
"Income":income,
"Expenses":expenses})
df.insert(3, "Empty_1", "")
df.insert(4, "Empty_2", np.nan)
print(df)
輸出:
Date Income Expenses Empty_1 Empty_2
0 April-20 10 3 NaN
1 April-21 20 8 NaN
2 April-22 10 4 NaN
3 April-23 15 5 NaN
4 April-24 10 6 NaN
5 April-25 12 10 NaN
它在 df
中建立 Empty_1
列,並在索引 3
處建立所有空值,並在索引 4
處建立具有所有 NaN
值的 Empty_2
。
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 列轉換為字串