在 Pandas 中向现有 DataFrame 添加新列

pythonserver side programmingprogramming更新于 2025/10/18 15:40:17

Pandas Data Frame 是一种二维数据结构,即数据以表格形式排列在行和列中。可以使用 python 字典、列表和系列等创建它。在本文中,我们将了解如何向现有数据框添加新列。 首先,让我们使用 pandas 系列创建一个数据框。在下面的示例中,我们将 pandas 系列转换为一列的数据框,并为其指定列名 Month_no。

示例

import pandas as pd
s = pd.Series([6,8,3,1,12])
df = pd.DataFrame(s,columns=['Month_No'])
print (df)

输出

运行上述代码得到以下结果:

   Month_No
0       6
1       8
2       3
3       1
4       12

使用 insert() 函数

我们可以使用 pandas 的 insert() 函数,该函数将列插入到其索引指定的位置。下面我们将一个月中的天数作为列添加到索引位置 1 的现有 pandas DataFrame 中。

示例

import pandas as pd
s = pd.Series([6,8,3,1,12])
df = pd.DataFrame(s,columns=['Month_No'])

# 在位置 1 插入新列。
df.insert(1,"No_of_days",[30,31,31,31,31],True)
print (df)

输出

运行上述代码得到以下结果 −

   Month_No No_of_days
0       6       30
1       8       31
2       3       31
3       1       31
4       12      31

使用assign()函数

assign()函数

示例

import pandas as pd
s = pd.Series([6,8,3,1,12])
df = pd.DataFrame(s,columns=['Month_No'])

# 在末尾插入一列
df = df.assign(No_of_days = [30,31,31,31,31])

print (df)

输出

运行上述代码得到以下结果 −

   Month_No No_of_days
0       6       30
1       8       31
2       3       31
3       1       31
4       12      31

相关文章


有用资源