首页 > 解决方案 > 将 DataFrame 作为一行附加到更大的 DataFrame

问题描述

我有一个空的数据框(数据),我定义如下:

 data=pd.DataFrame({'A':[],'B':[],'C':[],'D':[]})

通过for循环,我获得了几个看起来像这样的临时数据帧:

index   order_count
 C             3
 A             1
 B             1

我想通过使用这些临时数据帧的数据来填充“数据”。我想我必须在“索引”中检查“order_count”列并添加相应的“order_count”。之后,也许连接临时结果。

我想获得“数据”的以下输出:

time_interval   A  B  C  D
     1          1  1  3  0
     2          1  1  1  1
    ...

标签: pythonpandasdataframeappend

解决方案


一种选择是使用appendwhich 返回一个副本(多次调用 append 时效率相对较低):

data

Empty DataFrame
Columns: [A, B, C, D]
Index: []

temp_df

  index  order_count
0     C            3
1     A            1
2     B            1

data.append(temp_df.set_index('index')['order_count'], ignore_index=True)

     A    B    C   D
0  1.0  1.0  3.0 NaN

另一种选择是使用 loc 进行就地分配:

data.loc[len(df),:] = temp_df.set_index('index')['order_count']
data

     A    B    C   D
4  1.0  1.0  3.0 NaN

推荐阅读