我有一个看起来像这样的DataFrame:
Col1 Col2 Col3
1 'Content1.1' 'Content1.2' 'Content1.3'
2 'Content2.1' 'Content2.2' 'Content2.3'
3 'Content3.1' 'Content3.2' 'Content3.3'
...
现在我要添加一个像这样的系列:
Col4 'Content2.4'
Col5 'Content2.5'
Col6 'Content2.6'
到DataFrame中的特定索引,例如,在索引 2 处,如下所示:
Col1 Col2 Col3 Col4 Col5 Col6
1 'Content1.1' 'Content1.2' 'Content1.3' NaN NaN NaN
2 'Content2.1' 'Content2.2' 'Content2.3' 'Content2.4' 'Content2.5' 'Content2.6'
3 'Content3.1' 'Content3.2' 'Content3.3' NaN NaN NaN
...
目前,我使用以下代码段,其中content_to_add
是系列,data
是DataFrame:
for column, value in content_to_add.iteritems():
data.loc[index, column] = value
这行得通,但是我更喜欢一个解决方案,而不必遍历整个系列,因为那样的话,我必须一个又一个地添加每一列,并添加看似瓶颈的大数据集。
答案 0 :(得分:2)
使用to_frame
和concat
:
index = 2
pd.concat([data, content_to_add.to_frame(index).T], axis=1)
Col1 Col2 Col3 Col4 Col5 Col6
1 'Content1.1' 'Content1.2' 'Content1.3' NaN NaN NaN
2 'Content2.1' 'Content2.2' 'Content2.3' 'Content2.4' 'Content2.5' 'Content2.6'
3 'Content3.1' 'Content3.2' 'Content3.3' NaN NaN NaN
to_frame
的参数是要将系列行连接到的索引。