首页 > 解决方案 > 熊猫 OHLCV 转 JSON 格式

问题描述

我有实时数据,我用 pandas 重新采样以获得 OHLCV 数据:

ohlcv = df.resample(_period).agg({'bid': 'ohlc', 'volume': 'sum'})

数据框如下所示:

            volume         bid
            volume        open        high      low       close
timestamp
2016-09-01   300.0   77.644997   78.320331   77.638   78.320331

并且使用的 JSON 输出ohlcv.to_json(orient='index')是:

{"1472688000000":{"["volume","volume"]":300.0,"["bid","open"]":77.644997,"["bid","high"]":78.320331,"["bid","low"]":77.638,"["bid","close"]":78.320331}}

如何转换以下 JSON 中的数据框:

{
   "timestamp":1472688000000,
   "open":77.644997,
   "high":78.320331,
   "close":78.320331,
   "low":77.638,
   "volume":300
}

标签: pythonjsonpandasresampling

解决方案


用于在列中MultiIndex.droplevel转换以展平列:MultiIndex

ohlcv = df.resample(_period).agg({'bid': 'ohlc', 'volume': 'sum'})
ohlcv.columns = ohlcv.columns.droplevel(0)

ohlcv.to_json(orient='index')

推荐阅读