假设我有以下内容:
df = pd.DataFrame(data=[[0.5, 0.2],[0.5, 0.8]], columns=['Col1', 'Col2'], index=['Existing 1', 'Existing 2'])
new_col = pd.Series(data=[0.6, 0.4], index=['Existing 1', 'New 1'])
哪个收益率:
df:
Col1 Col2
Existing 1 0.5 0.2
Existing 2 0.5 0.8
new_col:
Existing 1 0.6
New 1 0.4
我想要做的是在名为'New'的列下添加new_col,添加“New 1”索引,并用nan填充空。我试过通过:
df['New'] = new_col
然而,这似乎没有附加“新1”索引。因此我最终得到:
Col1 Col2 New
Existing 1 0.5 0.2 0.6
Existing 2 0.5 0.8 NaN
我想要的地方:
Col1 Col2 New
Existing 1 0.5 0.2 0.6
Existing 2 0.5 0.8 NaN
New 1 NaN NaN 0.4
思想?
答案 0 :(得分:2)
您可以使用pd.concat
将系列与axis=1
上的数据框连接起来,默认情况下会outer
加入,从而包含数据框和系列中的索引在结果中:
pd.concat([df, new_col.rename('New')], axis=1)
# Col1 Col2 New
#Existing 1 0.5 0.2 0.6
#Existing 2 0.5 0.8 NaN
# New 1 NaN NaN 0.4