我有一个像下面的字典
d = {'a':'1,2,3','b':'3,4,5,6'}
我想从中循环创建数据框,例如
a = 1,2,3
b = 3,4,5,6
创建一个可以引用诸如df['a']
之类的字典键的数据框,对于我尝试实现的目标不起作用。有什么建议吗?
答案 0 :(得分:1)
尝试此操作以获取数据帧列表:
>>> import pandas as pd
>>> import numpy as np
>>> dfs = [pd.DataFrame(np.array(b.split(',')), columns=list(a)) for a,b in d.items()]
给出以下输出
>>> dfs[0]
a
0 1
1 2
2 3
>>> dfs[1]
b
0 3
1 4
2 5
3 6
答案 1 :(得分:0)
要将字典转换为 DataFrames列表,请运行:
lst = [ pd.Series(v.split(','), name=k).to_frame()
for k, v in d.items() ]
然后,对于您的示例数据,lst[0]
包含:
a
0 1
1 2
2 3
和lst[1]
:
b
0 3
1 4
2 5
3 6
答案 2 :(得分:0)
希望这会有所帮助:
dfs=[]
for key, value in d.items():
df = pd.DataFrame.from_dict((list(filter(None, value))))
dfs.append(df)