将不具有相同列的pandas数据帧列表合并到一个pandas数据帧

将不具有相同列的pandas数据帧列表合并到一个pandas数据帧,pandas,merge,Pandas,Merge,我有三个数据帧:df1、df2、df3,具有相同数量的“行”,但不同数量的“列”和不同的“列”标签。我想将它们“合并”到一个数据帧中,顺序为df1、df2、df3,并保留原始列标签 我在书中读到,这可以通过以下方式实现: df = pd.DataFrame.from_dict(map(dict,df_list)) 但我不能完全理解代码。我假设df_list是: df_list = [df1,df2,df3] 但是什么是dict?dfu列表的字典?如何获得它?我通过以下方式解决此问题:

我有三个数据帧:
df1、df2、df3
,具有相同数量的“行”,但不同数量的“列”和不同的“列”标签。我想将它们“合并”到一个数据帧中,顺序为
df1、df2、df3
,并保留原始列标签

我在书中读到,这可以通过以下方式实现:

df = pd.DataFrame.from_dict(map(dict,df_list))
但我不能完全理解代码。我假设
df_list
是:

df_list = [df1,df2,df3]
但是什么是dict?
dfu列表的字典
?如何获得它?

我通过以下方式解决此问题:

        df = pd.concat([df1, df2], axis=1, sort=False)
        df = pd.concat([df, df3], axis=1, sort=False)

我认为在本例中,
dict
指的是python内置的dict方法。它映射到df_列表。这个解决方案在Python 3.6.5/v0.23.0上对我不起作用。类型错误:数据参数不能是迭代器。首先转换到
list
(模仿Python 2.7)也会产生意想不到的结果。我认为版本差异在这里是无法克服的,寻找一个更近的问题。或者干脆
pd.concat([df1,df2,df3],axis=1,sort=False)
Yes,更简单:)