连续将DataFrame追加到较大的DataFrame

时间:2019-06-06 20:52:33

标签: python pandas dataframe append

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

 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
    ...

2 个答案:

答案 0 :(得分:1)

一种选择是使用append返回一个副本(多次调用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

答案 1 :(得分:0)

如果我很了解您的问题,我想这可以解决问题:

#df being the dataFrame and temp being the one you are wellling to add
df = df.append(temp.set_index('index').T, ignore_index = True)