我定义了如下的namedtuple:
In[37]: from collections import namedtuple
Point = namedtuple('Point', 'x y')
嵌套字典的格式如下:
In[38]: d
Out[38]:
{1: {None: {1: Point(x=1.0, y=5.0), 2: Point(x=4.0, y=8.0)}},
2: {None: {1: Point(x=45324.0, y=24338.0), 2: Point(x=45.0, y=38.0)}}}
我正在尝试从字典d中创建一个pandas dataframe,而无需使用for循环。
我已经通过以下方式成功地从字典的子集中创建了dataframe:
In[40]: df=pd.DataFrame(d[1][None].values())
In[41]: df
Out[41]:
x y
0 1 5
1 4 8
但是我希望能够从整个字典中创建数据框。
我想要数据框输出以下内容(我使用的是多索引符号):
In[42]: df
Out[42]:
Subcase Step ID x y
1 None 1 1.0 5.0
2 4.0 8.0
2 None 1 45324.0 24338.0
2 45.0 38.0
DataFrame的from_dict方法只支持最多两层嵌套,所以我无法使用它。我还考虑修改d字典的结构来实现我的目标。此外,也许它不必是一个字典。
谢谢。