将带有嵌套字典的字典列表转换为数据帧

时间:2018-05-21 07:34:32

标签: python-3.x dataframe

我是python编程和pandas库的新手。 我的列表如下所示

[
 {
  'tradable': False, 
  'mode': 'quote', 
  'instrument_token': 256265, 
  'last_price': 10546.1,
  'ohlc': {
           'high': 10621.7, 
           'low': 10545.3, 
           'open': 10616.7, 
           'close': 10596.4
          }, 
  'change': -0.474689517194512
 }
]

我希望嵌套字典带有键&#;; ohlc'要转换为数据帧。 换句话说,数据帧列应该是高,低,开,关。

请帮助我。

1 个答案:

答案 0 :(得分:2)

您可以使用pandas.io.json.json_normalize()

In [16]: d
Out[16]:
[{'tradable': False,
  'mode': 'quote',
  'instrument_token': 256265,
  'last_price': 10546.1,
  'ohlc': {'high': 10621.7, 'low': 10545.3, 'open': 10616.7, 'close': 10596.4},
  'change': -0.474689517194512}]

In [17]: pd.io.json.json_normalize(d)
Out[17]:
    change  instrument_token  last_price   mode  ohlc.close  ohlc.high  ohlc.low  ohlc.open  tradable
0 -0.47469            256265     10546.1  quote     10596.4    10621.7   10545.3    10616.7     False