【发布时间】:2018-07-06 18:30:21
【问题描述】:
假设我有一本字典,其元素都是具有相同列名的数据框,我如何将这些数据框转换为一个大数据框?即为存储在此字典中的所有数据帧一个接一个地附加一个数据帧。
当然这可以通过 for 循环来完成,但由于我的字典会很大,我想知道是否存在更好/优雅的方法?
非常感谢!
【问题讨论】:
假设我有一本字典,其元素都是具有相同列名的数据框,我如何将这些数据框转换为一个大数据框?即为存储在此字典中的所有数据帧一个接一个地附加一个数据帧。
当然这可以通过 for 循环来完成,但由于我的字典会很大,我想知道是否存在更好/优雅的方法?
非常感谢!
【问题讨论】:
如果我正确理解您的问题,您有一个类似 DataFrame 的字典,例如:
df1 = pd.DataFrame(data={"col1":[1,2,3], "col2":["A","B","C"]})
df2 = pd.DataFrame(data={"col1":[4,5,6], "col2":["D","E","F"]})
dct = dict({"DataFrame1":df1, "DataFrame2":df2})
如果是这样,那么您只需使用 pandas.concat 和列表推导将 DataFrame 合并在一起,如下所示:
pd.concat([dct[k] for k in dct])
【讨论】: