我有一个Pandas数据帧列表,我想将它们组合成一个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)
Run Code Online (Sandbox Code Playgroud)
这将返回数据帧列表
type(dfs[0])
Out[6]: pandas.core.frame.DataFrame
type(dfs)
Out[7]: list
len(dfs)
Out[8]: 408
Run Code Online (Sandbox Code Playgroud)
这是一些示例数据
# 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., …
Run Code Online (Sandbox Code Playgroud) 我有多个(超过100个)数据帧。我怎样才能把它们都吸引住?
问题是,我有太多数据框,无法将它们手动写入列表中,如下所示:
>>> cluster_1 = pd.DataFrame([['a', 1], ['b', 2]],
... columns=['letter ', 'number'])
>>> cluster_1
letter number
0 a 1
1 b 2
>>> cluster_2 = pd.DataFrame([['c', 3], ['d', 4]],
... columns=['letter', 'number'])
>>> cluster_2
letter number
0 c 3
1 d 4
>>> pd.concat([cluster_1, cluster_2])
letter number
0 a 1
1 b 2
0 c 3
1 d 4
Run Code Online (Sandbox Code Playgroud)
我的N个数据帧的名称是cluster_1,cluster_2,cluster_3,...,cluster_N。N可以很高。
如何合并N个数据帧?
我想读取DataFrame 列表的每第 n 行,并通过附加所有第 N 行来创建一个新的 DataFrame。
假设我们有以下 DataFrame:
>>> df1
A B C D
0 -0.8 -2.8 -0.3 -0.1
1 -0.1 -0.9 0.2 -0.7
2 0.7 -3.3 -1.1 -0.4
>>> df2
A B C D
0 1.4 -0.7 1.5 -1.3
1 1.6 1.4 1.4 0.2
2 -1.4 0.2 -1.7 0.7
>>> df3
A B C D
0 0.3 -0.5 -1.6 -0.8
1 0.2 -0.5 -1.1 1.6
2 -0.3 0.7 -1.0 1.0
Run Code Online (Sandbox Code Playgroud)
我使用以下方法来获得所需的 df:
df = pd.DataFrame()
df_list = …
Run Code Online (Sandbox Code Playgroud)