python - 熊猫 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
}
解决方案
用于在列中MultiIndex.droplevel
转换以展平列:MultiIndex
ohlcv = df.resample(_period).agg({'bid': 'ohlc', 'volume': 'sum'})
ohlcv.columns = ohlcv.columns.droplevel(0)
ohlcv.to_json(orient='index')