将空列添加到 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