[英]Creating multiple dataframes from a dictionary in a loop
我有一本像下面这样的字典
d = {'a':'1,2,3','b':'3,4,5,6'}
我想在循环中从中创建数据帧,例如
a = 1,2,3
b = 3,4,5,6
创建一个可以引用字典键(例如df['a']
的单个数据框对我想要实现的目标不起作用。 有什么建议?
试试这个以获取数据框列表:
>>> 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
要将字典转换为 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
希望这可以帮助:
dfs=[]
for key, value in d.items():
df = pd.DataFrame.from_dict((list(filter(None, value))))
dfs.append(df)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.