Concatenar una lista de marcos de datos de pandas juntos

Tengo una lista de marcos de datos de Pandas que me gustaría combinar en un dataframe de Pandas. Estoy usando Python 2.7.10 y Pandas 0.16.2

He creado la lista de marcos de datos de:

import pandas as pd dfs = [] sqlall = "select * from mytable" for chunk in pd.read_sql_query(sqlall , cnxn, chunksize=10000): dfs.append(chunk) 

Esto devuelve una lista de marcos de datos

 type(dfs[0]) Out[6]: pandas.core.frame.DataFrame type(dfs) Out[7]: list len(dfs) Out[8]: 408 

Aquí hay algunos datos de muestra.

 # sample dataframes d1 = pd.DataFrame({'one' : [1., 2., 3., 4.], 'two' : [4., 3., 2., 1.]}) d2 = pd.DataFrame({'one' : [5., 6., 7., 8.], 'two' : [9., 10., 11., 12.]}) d3 = pd.DataFrame({'one' : [15., 16., 17., 18.], 'two' : [19., 10., 11., 12.]}) # list of dataframes mydfs = [d1, d2, d3] 

Me gustaría combinar d1 , d2 y d3 en un dataframe de pandas. Alternativamente, sería muy útil un método para leer una tabla grande-ish directamente en un dataframe cuando se usa la opción chunksize .

Dado que todos los marcos de datos tienen las mismas columnas, simplemente puede concat :

 import pandas as pd df = pd.concat(list_of_dataframes) 

Si los marcos de datos NO todos tienen las mismas columnas, intente lo siguiente:

 df = pd.DataFrame.from_dict(map(dict,df_list)) 

También puedes hacerlo con progtwigción funcional:

 reduce(lambda df1, df2: df1.merge(df2, "outer"), mydfs)