如何合并 pandas 中一个比另一个低的数据帧?

How to combine data frames in pandas that are one below the other?

list_1  =[1, 2, 3, 4 ]

def fun(list_1):
    for each value in list1:
        # perform some operation and create a new data frame(pandas) for each value in the list
        # so in total I should get 4 data frames.

        yield new_data_frame

当我调用 fun(list_1) 时,我得到 4 个数据帧,一个在另一个下面:

data_frame_1

data_frame_2

data_frame_3

data_frame_4

我的问题是,如果我需要垂直合并pandas个数据框怎么办?

data_frame_1
+
data_frame_2
+
data_frame_3
+
data_frame_4

将它们存储在列表中,然后 pd.concat(df_list, ignore_index=True)

pd.concat([data_frame_1, data_frame_2, data_frame_3, data_frame_4],ignore_index=True)

os 更简单,只需将乐趣作为参数传递给 pd.concat:

In [8]:

list_1 = [1,2,3,4]
def fun(list_1):
    for each_value in list_1:
        # perform some operation and create a new data frame(pandas) named "new_data_frame" for each value in the list

        yield pd.DataFrame({'a':[each_value]})
pd.concat(fun(list_1), ignore_index=True)
Out[8]:
   a
0  1
1  2
2  3
3  4