Pandas OHLCV 到 JSON 格式

Pandas OHLCV to JSON format

我有实时数据,我用 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

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

{"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
}

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

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

ohlcv.to_json(orient='index')