将 Series 作为特定索引处的新列附加到 DataFrame
Append a Series to a DataFrame as new columns at a specific index
我有一个如下所示的 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
这行得通,但我更喜欢无需遍历系列的解决方案,因为那样我必须一个接一个地添加每一列,而大数据集似乎是一个瓶颈。
使用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
的参数是您要将系列行连接到的索引。
我有一个如下所示的 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
这行得通,但我更喜欢无需遍历系列的解决方案,因为那样我必须一个接一个地添加每一列,而大数据集似乎是一个瓶颈。
使用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
的参数是您要将系列行连接到的索引。