Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.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
合并dataframe python的列表_Python_Pandas_List_Dataframe - Fatal编程技术网

合并dataframe python的列表

合并dataframe python的列表,python,pandas,list,dataframe,Python,Pandas,List,Dataframe,我有一个列表,每个列表包含一个公共列,a,B,用作索引,如下所示 df_list=[[df1], [df2],[df3], [df4], [df5, df6]] flat_list = [item for sublist in df_list for item in sublist] #L3 = pd.DataFrame.from_dict(map(dict,D)) L3=pd.concat(flat_list) 我希望基于所有数据帧中的公共列a、B将数据帧

我有一个列表,每个列表包含一个公共列,a,B,用作索引,如下所示

df_list=[[df1], [df2],[df3], [df4], [df5, df6]]
  flat_list = [item for sublist in df_list for item in sublist]
        
  #L3 = pd.DataFrame.from_dict(map(dict,D))
  L3=pd.concat(flat_list)  
我希望基于所有数据帧中的公共列a、B将数据帧合并为单个数据帧

我试过pd.concatdf_列表。这不起作用并产生错误

 list indices must be integers or slices, not list

有没有办法做到这一点

尝试使用以下方法:

dfs = [df1, df2, df3, ... etc]

print(pd.concat(dfs))

将dfs存储在列表中时,不应将其保留在第二个列表中,注意pd.concat会获取dfs列表。

解决方案如下

df_list=[[df1], [df2],[df3], [df4], [df5, df6]]
  flat_list = [item for sublist in df_list for item in sublist]
        
  #L3 = pd.DataFrame.from_dict(map(dict,D))
  L3=pd.concat(flat_list)  

您需要向pd.concat提供平面列表或其他平面结构

是嵌套的。如果您没有填充所述df_列表的命令,则需要首先使用itertools.chain将其展平,如下所示:

import itertools
flat_df_list = list(itertools.chain(*df_list))
然后提供平面图或利用pd.concat也与itertators合作的事实:

total_df = pd.concat(itertools.chain(*df_list))

你需要更具体一些。为什么现在在df_列表中有一个列表?[d5,d6]是一个列表而不是一个整数,这就是为什么会出现该错误。你能更具体地阐述一下吗,比如你必须创建一列列表或者什么?