私はPandasデータフレームのリストを持っていて、それを1つのPandasデータフレームに結合したいと考えています。私はPython 2.7.10とPandas 0.16.2を使用しています。
以下からデータフレームのリストを作成しました:
import pandas as pd
dfs = []
sqlall = "select * from mytable"
for chunk in pd.read_sql_query(sqlall , cnxn, chunksize=10000):
dfs.append(chunk)
これはデータフレームのリストを返します
type(dfs[0])
Out[6]: pandas.core.frame.DataFrame
type(dfs)
Out[7]: list
len(dfs)
Out[8]: 408
ここにサンプルデータがあります
# 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]
d1
、、d2
を1 つの pandas データフレームに結合したいと思いますd3
。あるいは、 オプションを使用するときに、大きめのテーブルをデータフレームに直接読み込む方法がchunksize
あると非常に便利です。
ベストアンサー1
すべてのデータフレームに同じ列があるため、concat
次のように単純化できます。
import pandas as pd
df = pd.concat(list_of_dataframes)