Python dict到数据帧Pandas

2024-09-25 08:41:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要帮助从这样一个dict得到一只熊猫DataFrame这样的(2级):

{u'instrument': u'EUR_USD',
 u'candles': [{u'complete': True,
               u'closeMid': 1.26549,
               u'highMid': 1.27026,
               u'lowMid': 1.25006,
               u'volume': 138603,
               u'openMid': 1.26864,
               u'time': u'2014-09-29T21:00:00.000000Z'},
              ...
              {u'complete': True,
               u'closeMid': 1.244995,
               u'highMid': 1.25774,
               u'lowMid': 1.239455,
               u'volume': 167259,
               u'openMid': 1.242075,
               u'time': u'2014-11-10T22:00:00.000000Z'}
              ]
}

列标签和值应该是instrumentsCompleteCloseMidHighMidlowMidVolumeOpenMidtime。在


Tags: truedataframetime标签eurdictcompleteusd
1条回答
网友
1楼 · 发布于 2024-09-25 08:41:55

这是一个务实的解决方案。在

d = {u'instrument': u'EUR_USD', 
     u'candles': [
        {u'complete': True, u'closeMid': 1.26549, u'highMid': 1.27026, u'lowMid': 1.25006, u'volume': 138603, u'openMid': 1.26864, u'time': u'2014-09-29T21:00:00.000000Z'}, 
        {u'complete': True, u'closeMid': 1.275215, u'highMid': 1.27915, u'lowMid': 1.25838, u'volume': 164677, u'openMid': 1.265485, u'time': u'2014-10-06T21:00:00.000000Z'}, 
        {u'complete': True, u'closeMid': 1.279995, u'highMid': 1.288645, u'lowMid': 1.26249, u'volume': 207189, u'openMid': 1.27537, u'time': u'2014-10-13T21:00:00.000000Z'}, 
        {u'complete': True, u'closeMid': 1.269775, u'highMid': 1.28403, u'lowMid': 1.261385, u'volume': 125266, u'openMid': 1.280145, u'time': u'2014-10-20T21:00:00.000000Z'}, 
        {u'complete': True, u'closeMid': 1.24819, u'highMid': 1.27707, u'lowMid': 1.243775, u'volume': 210030, u'openMid': 1.270125, u'time': u'2014-10-27T21:00:00.000000Z'}, 
        {u'complete': True, u'closeMid': 1.242075, u'highMid': 1.25774, u'lowMid': 1.23582, u'volume': 246530, u'openMid': 1.24841, u'time': u'2014-11-03T22:00:00.000000Z'}, 
        {u'complete': True, u'closeMid': 1.244995, u'highMid': 1.25774, u'lowMid': 1.239455, u'volume': 167259, u'openMid': 1.242075, u'time': u'2014-11-10T22:00:00.000000Z'}
        ]}

df = pd.DataFrame.from_dict(d).join(pd.DataFrame.from_dict(d['candles'])).drop('candles', axis=1)
df

{a1}

编辑

这个问题在这里完全不同,需要一个基于相同原理的新答案,但更复杂。在

^{pr2}$

相关问题 更多 >