【发布时间】:2021-08-28 20:45:41
【问题描述】:
我有一个股票价格数据框,如所附屏幕截图所示。这些列是分层的,公司是列的一个级别,价格类别是下一个列。此外,日期是索引。我希望公司符号成为索引,日期成为字段(列之一),但我不知道从哪里开始,我一直在为此苦苦挣扎。有人可以指出我正确的方向吗?所附屏幕截图中的箭头显示了我正在尝试完成的操作。
【问题讨论】:
标签: python dataframe stock yfinance
我有一个股票价格数据框,如所附屏幕截图所示。这些列是分层的,公司是列的一个级别,价格类别是下一个列。此外,日期是索引。我希望公司符号成为索引,日期成为字段(列之一),但我不知道从哪里开始,我一直在为此苦苦挣扎。有人可以指出我正确的方向吗?所附屏幕截图中的箭头显示了我正在尝试完成的操作。
【问题讨论】:
标签: python dataframe stock yfinance
您应该使用level 参数与stack 和reset_index 来控制您想要的行为。
示例:
x=pd.DataFrame(columns=[['a','a','b','b','c','c'],[3,4,3,4,3,4]],data=np.random.rand(3,6))
a, b, c 是“公司”??(我不确定0, 1, 2 是日期。
使用x.stack(level=0)只让“公司”级别的堆栈索引(行)
那么,x.stack(level=0).reset_index(level=0),
reset_index(level=0) 部分只允许从索引(行)到列的“日期”
如果需要,您也可以将其重命名为 x.stack(level=0).reset_index(level=0).rename(columns={'level_0':'date'})。
【讨论】:
df.head(1).stack(level=0).reset_index(level=0).reset_index().rename(columns={'index':'symbol'})