如何在Python中向数据框架中插入新的列

236 阅读3分钟

数据框架经常被用来处理python中的表格数据。在这篇文章中,我们将讨论如何在python中向数据框架中插入新的列。

在Python中通过索引向数据框架插入新的列

为了在数据框架中增加一个新的列,我们可以使用索引,就像我们在python字典中增加一个键值对一样。在这种方法中,我们首先将需要插入的列的所有元素放到一个列表中。之后,我们将使用下面的语法将这个列表作为一个新的列添加到数据框架中。

datframe_name[column_name]= element_list

这里

  • datframe_name 是要插入列的数据框架的名称。
  • column_name 代表一个包含新列名称的字符串。
  • element_list 表示包含将被插入到数据框架中的元素的列表。

下面是通过索引在数据框架中插入一个新列的python源代码。

import pandas as pd

df = pd.read_csv('Demo.csv')
print("The dataframe before inserting the column:")
print(df)
column_data = [180, 164, 170]
df['Height'] = column_data
print("The dataframe after inserting the column:")
print(df)

输出

The dataframe before inserting the column:
   Roll    Name Language
0     1  Aditya   Python
1     2     Sam     Java
2     3   Chris      C++
The dataframe after inserting the column:
   Roll    Name Language  Height
0     1  Aditya   Python     180
1     2     Sam     Java     164
2     3   Chris      C++     170

使用assign()方法在数据框架中插入新列

我们可以不使用索引,而是使用assign() 方法在数据框架中添加一个新的列。assign() 方法,当在一个数据框架上调用时,使用下面的语法将列名和新列的元素列表作为一个关键字参数。

datframe_name.assign(column_name= element_list)

这里

  • datframe_name 是要插入列的数据框架的名称。
  • column_name 表示新列的名称。
  • element_list 是包含将被插入到数据框架中的元素的列表。

执行后,assign() 方法将列插入到数据框架中,并返回更新的数据框架,如下所示。

import pandas as pd

df = pd.read_csv('Demo.csv')
print("The dataframe before inserting the column:")
print(df)
column_data = [180, 164, 170]
df = df.assign(Height=column_data)
print("The dataframe after inserting the column:")
print(df)

输出

The dataframe before inserting the column:
   Roll    Name Language
0     1  Aditya   Python
1     2     Sam     Java
2     3   Chris      C++
The dataframe after inserting the column:
   Roll    Name Language  Height
0     1  Aditya   Python     180
1     2     Sam     Java     164
2     3   Chris      C++     170

上述方法是用来在最后插入新的列的。我们也可以在数据框架的任何位置插入新列。为此,我们可以使用insert()方法。

使用insert()方法向数据框架中插入新列

使用 insert() 方法,我们可以在数据框架的任何位置插入一个新的列。insert() 方法,当在一个数据框架上调用时,将新列插入的位置作为其第一个输入参数,新列的名称作为第二个输入参数,包含新列元素的列表作为第三个输入参数。执行后,它在数据框架中的指定位置插入该列。你可以在下面的例子中观察到这一点。

import pandas as pd

df = pd.read_csv('Demo.csv')
print("The dataframe before inserting the column:")
print(df)
column_data = [180, 164, 170]
df.insert(1, 'Height', column_data)
print("The dataframe after inserting the column:")
print(df)

输出

The dataframe before inserting the column:
   Roll    Name Language
0     1  Aditya   Python
1     2     Sam     Java
2     3   Chris      C++
The dataframe after inserting the column:
   Roll  Height    Name Language
0     1     180  Aditya   Python
1     2     164     Sam     Java
2     3     170   Chris      C++

结论

在这篇文章中,我们讨论了在python中向数据框架中插入新列的三种方法。