调用股票API获取历史数据创建DataFrame时数据均为单行,如何生成对应列?
问题原因
你在构建DataFrame时给a['data']额外嵌套了一层列表。a['data']本身已经是符合要求的二维列表结构,每个子列表对应DataFrame的一行数据,外层额外套[]会让Pandas将整个二维列表识别为单行的单个值,因此所有数据都会挤在同一行。
正确写法
import pandas as pd # 直接传入a['data'],同时指定对应列名 df = pd.DataFrame( data=a['data'], columns=['datetime', 'open', 'high', 'low', 'close', 'volume'] ) # 可选优化:将datetime列转换为pandas时间格式,方便后续时间序列运算 df['datetime'] = pd.to_datetime(df['datetime'])
执行后即可得到列名符合要求、每行对应一条K线数据的DataFrame。
内容的提问来源于stack exchange,提问作者Vijay
相关产品推荐
相关产品推荐

