Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 寻找一种简单的方法来排列我的dfs以连接它们_Python_Pandas_Dataframe - Fatal编程技术网

Python 寻找一种简单的方法来排列我的dfs以连接它们

Python 寻找一种简单的方法来排列我的dfs以连接它们,python,pandas,dataframe,Python,Pandas,Dataframe,我有大约12个数据帧,我期待垂直连接,因此我使用以下代码行: all_data=pd.concat([df1,df2,df3....,df12],axis=0) 打印所有数据时,出现的错误通知 cannot concatenate a non-NDFrame object 我认为问题在于,并不是所有的dfs在类型数据帧中都检出了这些类型,并且所有这些类型的结果都是: class 'pandas.core.frame.DataFrame' “我想”几个小时后,我找到了错误的根源 尽管所有d

我有大约12个数据帧,我期待垂直连接,因此我使用以下代码行:

all_data=pd.concat([df1,df2,df3....,df12],axis=0) 
打印所有数据时,出现的错误通知

cannot concatenate a non-NDFrame object
我认为问题在于,并不是所有的dfs在
类型
数据帧
中都检出了这些类型,并且所有这些类型的结果都是:

class 'pandas.core.frame.DataFrame'
“我想”几个小时后,我找到了错误的根源

尽管所有dfs共享相同的列名,但它们的顺序不同。例如:

list(df1.columns)=[title1,title2,title3]
而不同的df是:

list(df3.columns)=[title2,title3,title1]
我的问题是:

是否有任何方法可以对每个数据帧的dfs列进行排序,以便在不需要单独处理每个数据帧的情况下垂直连接它们

我的意思是,我可以只用一行代码来排列这些列吗


提前感谢您阅读我的帖子

让我们使用列表理解和重新索引轴来尝试一下:

pd.concat([d.reindex_axis(sorted(d.columns),axis=1) for d in [df1,df2,df3,....df12]])

让我们使用列表理解和重新索引轴来尝试此操作:

pd.concat([d.reindex_axis(sorted(d.columns),axis=1) for d in [df1,df2,df3,....df12]])

返回“list”对象没有属性“reindex_axis”,我支持这可能是因为df1、df2、ect实际上是存储在变量中的dfs(作为函数的结果)。我刚刚发现了一个输入错误。重试。出现相同错误:AttributeError:“list”对象没有属性“reindex_axis”你能告诉我什么是类型(df1)吗?类“pandas.core.frame.DataFrame”。返回“list”对象没有属性“reindex_axis”我支持这可能是因为df1、df2、ect实际上是dfs(作为函数的结果)存储在Variables中我刚刚发现了一个输入错误。请再试一次。出现相同的错误:AttributeError:“list”对象没有属性“reindex_axis”您能告诉我什么是类型(df1)吗?类“pandas.core.frame.DataFrame”。