如何在循环中创建多个pandas数据帧?

时间:2017-09-16 20:19:09

标签: python pandas dictionary dataframe

我有一个包含许多键的字典,其中一个键与值列表匹配,如下所示:

data['0'] = [A,B,C,D,E,F]
data['0.044'] = [G,H,I,J,K,L]
data['0.047'] = [M,N,O,P,Q,R]

我想将所有这些键值对转换为循环中的pandas数据帧,并将所有数据帧保存在字典中,这样通过访问上面的相同键,我可以看到相关的数据帧。

所需:

In[1] data['0'] Out[1]: col 0 A 1 B 3 C 4 D 5 E 6 F

我试过摆弄一堆循环,甚至尝试使用列表而不是dicts,但是没有多大用处。有任何想法吗?

1 个答案:

答案 0 :(得分:0)

In [207]: d = {
     ...:   '0': ['A','B','C','D','E','F'],
     ...:   '0.044': ['G','H','I','J','K','L']
     ...: }
     ...:

In [208]: d
Out[208]: {'0': ['A', 'B', 'C', 'D', 'E', 'F'], '0.044': ['G', 'H', 'I', 'J', 'K', 'L']}

In [209]: dfs = {k:pd.DataFrame(v, columns=['val']) for k,v in d.items()}

In [210]: dfs['0']
Out[210]:
  val
0   A
1   B
2   C
3   D
4   E
5   F

In [211]: dfs['0.044']
Out[211]:
  val
0   G
1   H
2   I
3   J
4   K
5   L