將空列新增到 Pandas DataFrame

Samreena Aslam 2023年1月30日 2022年5月16日
  1. 使用 賦值運算子 在 Pandas DataFrame 中新增空列
  2. 使用 DataFrame.assign() 方法在 Pandas DataFrame 中新增一個空列
  3. 使用 DataFrame.reindex() 方法在 Pandas DataFrame 中新增一個空列
  4. 使用 DataFrame.insert() 方法在 Pandas DataFrame 中新增一個空列
  5. 使用 DataFrame.apply() 方法在 Pandas DataFrame 中新增一個空列
  6. まとめ
將空列新增到 Pandas DataFrame

Pandas 還提供了一項功能,可以將一個或多個空列新增到 DataFrame(表)。我們可以通過多種方式輕鬆地在 Pandas DataFrame 中新增空列。

我們將在本教程中展示如何使用各種方法在 Pandas DataFrame 中新增一個或多個空列,例如使用 assignment operator 和使用 assign(), insert(), reindex()apply() 方法。我們還將展示每種方法的實現,以簡要說明每種方法的工作原理。

使用 賦值運算子 在 Pandas DataFrame 中新增空列

使用 賦值運算子空字串,我們可以在 Pandas DataFrame 中新增空列。使用這種方法,將空值或 NaN 值分配給 DataFrame 中的任何列。

在下面的示例中,我們建立了一個 DataFrame,然後使用 assignment operator,我們將空字串和 NaN 值分配給兩個新新增的列,就像 Pandas DataFrame 中一樣。這些列是地址名稱。使用 NumPy 庫,我們將把 NaN 值匯入到 DataFrame 列中。

讓我們看看如何使用 賦值運算子空字串 將空列新增到 Pandas 中的 DataFrame

示例程式碼:

import pandas as pd
import numpy as np

company_data = ({
    'Employee Name':["Samreena","Mirha", "Asif", "Raees"],
    'Employee ID' :[101,102,103,104]
               })
dataframe = pd.DataFrame(company_data)
print("------------ Original DataFrame --------------\n", dataframe)

# Add empty column using Assignment operator
dataframe["Blank_Column"] = " "
dataframe["Address"] = np.nan
dataframe["Designation"] = None
print("------------ After Adding Empty Columns ---------------\n", dataframe)

輸出:

------------ Original DataFrame --------------
   Employee Name  Employee ID
0      Samreena          101
1         Mirha          102
2          Asif          103
3         Raees          104
------------ After Adding Empty Columns ---------------
   Employee Name  Employee ID Designation  Address
0      Samreena          101                  NaN
1         Mirha          102                  NaN
2          Asif          103                  NaN
3         Raees          104                  NaN

使用 DataFrame.assign() 方法在 Pandas DataFrame 中新增一個空列

DataFrame.assign() 方法用於向 DataFrame 新增一列或多列。在現有 Pandas DataFrame 中新增新的空列後,在 DataFrame 上應用 assign() 方法會返回一個新的 DataFrame

示例程式碼:

import pandas as pd
import numpy as np

company_data = ({
    'Employee Name':["Samreena","Mirha", "Asif", "Raees"],
    'Employee ID' :[101,102,103,104]
               })
dataframe1 = pd.DataFrame(company_data)
print("------------ Original DataFrame --------------\n", dataframe1)

# Add empty column into the DataFrame using assign() method
dataframe2 = dataframe1.assign(Designation=" ", Empty_column = np.nan, Address=None)
print("------------ After Adding Empty Columns ---------------\n", dataframe2)

輸出:

------------ Original DataFrame --------------
   Employee Name  Employee ID
0      Samreena          101
1         Mirha          102
2          Asif          103
3         Raees          104
------------ After Adding Empty Columns ---------------
   Employee Name  Employee ID Designation  Empty_column Address
0      Samreena          101                       NaN    None
1         Mirha          102                       NaN    None
2          Asif          103                       NaN    None
3         Raees          104                       NaN    None

使用 DataFrame.reindex() 方法在 Pandas DataFrame 中新增一個空列

DataFrame.reindex() 方法將 NaN 值分配給 Pandas DataFrame 中的空列。這個 reindex() 方法獲取現有和新新增的列的列表。使用這種方法,我們可以將任何索引位置的空列新增到 DataFrame

在以下示例中,我們建立了一個新的 DataFrame,其中包含兩列名稱,分別為 Employee NameEmployee ID。後來,我們使用 dataframe.reindex() 方法將另外兩個新列 AddressDesignation 新增到具有指定 NaN 值的列列表中。

示例程式碼:

import pandas as pd
import numpy as np

company_data = ({
    'Employee Name':["Samreena","Mirha", "Asif", "Raees"],
    'Employee ID' :[101,102,103,104]
               })
dataframe1 = pd.DataFrame(company_data)
print("------------ Original DataFrame --------------\n", dataframe1)

# Pandas Add empty columns to the DataFrame using reindex() method
dataframe2 = dataframe1.reindex(columns = dataframe1.columns.tolist() 
                                  + ['Designation','Address'])
print("------------ After Adding Empty Columns ---------------\n", dataframe2)

輸出:

------------ Original DataFrame --------------
   Employee Name  Employee ID
0      Samreena          101
1         Mirha          102
2          Asif          103
3         Raees          104
------------ After Adding Empty Columns ---------------
   Employee Name  Employee ID  Designation  Address
0      Samreena          101          NaN      NaN
1         Mirha          102          NaN      NaN
2          Asif          103          NaN      NaN
3         Raees          104          NaN      NaN

使用 DataFrame.insert() 方法在 Pandas DataFrame 中新增一個空列

DataFrame.insert() 方法在 Pandas DataFrame 的任何索引位置(開始、中間、結束或指定位置)插入一個空列。

示例程式碼:

import pandas as pd
import numpy as np

company_data = ({
    'Employee Name':["Samreena","Mirha", "Asif", "Raees"],
    'Employee ID' :[101,102,103,104]
               })
dataframe = pd.DataFrame(company_data)
print("------------ Original DataFrame --------------\n", dataframe)

# Pandas Add empty columns to the DataFrame using insert() method
dataframe.insert(1,'Designation','')
print("------------ After Adding Empty Columns ---------------\n", dataframe)

輸出:

------------ Original DataFrame --------------
   Employee Name  Employee ID
0      Samreena          101
1         Mirha          102
2          Asif          103
3         Raees          104
------------ After Adding Empty Columns ---------------
   Employee Name Designation  Employee ID
0      Samreena                      101
1         Mirha                      102
2          Asif                      103
3         Raees                      104

使用 DataFrame.apply() 方法在 Pandas DataFrame 中新增一個空列

使用 DataFrame.apply() 方法Lambda 函式,我們還可以向 Pandas DataFrame 新增空列。請參閱以下示例,使用 DataFrame.apply() 方法將空列新增到 Pandas 中的 DataFrame

示例程式碼:

import pandas as pd
import numpy as np

company_data = ({
    'Employee Name':["Samreena","Mirha", "Asif", "Raees"],
    'Employee ID' :[101,102,103,104]
               })
dataframe = pd.DataFrame(company_data)
print("------------ Original DataFrame --------------\n", dataframe)
# Pandas Add empty columns to the DataFrame using apply() method
dataframe["Empty_column"] = dataframe.apply(lambda _: ' ', axis=1)
print("------------ After Adding Empty Columns ---------------\n", dataframe)

輸出:


------------ Original DataFrame --------------
   Employee Name  Employee ID
0      Samreena          101
1         Mirha          102
2          Asif          103
3         Raees          104
------------ After Adding Empty Columns ---------------
   Employee Name  Employee ID Empty_column
0      Samreena          101             
1         Mirha          102             
2          Asif          103             
3         Raees          104    

まとめ

在本教程中,我們介紹了不同的方法,例如 assign()insert()apply()reindex() 以在 Pandas DataFrame 中新增一個或多個空列。我們還展示瞭如何使用 賦值運算子 將空列新增到 DataFrame

相關文章 - Pandas DataFrame