在Pandas中向现有DataFrame添加新列
Pandas Data Frame是一种二维数据结构,即数据在行和列中以表格方式对齐。它可以使用python中的dict,list和series等创建。在本文中,我们将看到如何向现有数据框添加新列。 首先,让我们使用pandas series创建一个数据框。在下面的示例中,我们将pandas系列转换为只有一列的数据框,并将其命名为Month_no。
更多Pandas文章,请阅读:Pandas教程
示例
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()函数,它将在其索引指定的位置插入列。在下面的示例中,我们将月份的天数作为列添加到现有的pandas DataFrame中,索引位置为1。
示例
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