簡體   English   中英

將嵌套字典轉換為數據框

[英]Convert nested dictionary into dataframe

我的字典看起來像這樣

mydict = 
{240594.0: {1322.0: 1.6899999999999999, 1323.0: 1.6900000000000002, 1324.0: 1.6899999999999999, 1325.0: 1.6899999999999999, 1326.0: 1.6899999999999999, 1327.0: 1.6900000000000002, 1328.0: 1.6899999999999999, 1329.0: 1.6899999999999999, 1356.0: 1.6900000000000002, 1357.0: 1.6900000000000002, 1358.0: 1.6899999999999999, 1359.0: 1.6900000000000002, 1360.0: 1.6900000000000002, ...},

226918.0: {1322.0: 1.6900000000000002, 1323.0: 1.6899999999999999, 1324.0: 1.6900000000000002, 1325.0: 1.6899999999999999, 1326.0: 1.6900000000000002, 1327.0: 1.6899999999999999, 1328.0: 1.6900000000000002, 1329.0: 1.6899999999999999, 1352.0: 1.6900000000000002, 1353.0: 1.6900000000000002, 1354.0: 1.6899999999999999 ...}}

這是{iri_key: {week:price, week:price ...}, iri_key: {...}}的真實值,我想將此字典轉換為如下所示的數據{iri_key: {week:price, week:price ...}, iri_key: {...}}

         week week  week ...
irikey: price price price ...
irikey: ...    ...   ...

在上述情況下

           1322.0                  ...
240594.0   1.6899999999999999      ...
226918.0   1.6900000000000002      ...

我該怎么辦?

您可能已經發現, DataFrame(mydict)是有效的代碼。 您可以簡單地使用移調( .T )以獲得所需的結果。

就代碼的可讀性和直接性而言,可以使用一種更好的方法:使用特定的DataFrame構造函數DataFrame.from_dict ,它具有關鍵字參數orient

In [2]: DataFrame.from_dict(mydict, orient='index')
Out[2]: 
        1356  1357  1358  1359  1360  1322  1323  1324  1325  1326  1327  \
226918   NaN   NaN   NaN   NaN   NaN  1.69  1.69  1.69  1.69  1.69  1.69   
240594  1.69  1.69  1.69  1.69  1.69  1.69  1.69  1.69  1.69  1.69  1.69   

        1328  1329  1352  1353  1354  
226918  1.69  1.69  1.69  1.69  1.69  
240594  1.69  1.69   NaN   NaN   NaN  

[2 rows x 16 columns]

從提供的示例數據中可以看到,正確處理了缺失值和可變長度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM