数据框:堆叠列、字段索引
Dataframe: Stacked Columns, Index to Field
我有一个股票价格数据框,如所附屏幕截图所示。这些列是分层的,公司是一级列,价格类别是下一级。另外,日期是索引。我希望公司符号成为索引,日期成为一个字段(其中一列),但我不知道从哪里开始,而且我已经为此苦苦挣扎了一段时间。有人可以指出我正确的方向吗?所附屏幕截图中的箭头显示了我要完成的操作。
Screenshot
您应该使用带有 stack
和 reset_index
的 level
参数来控制您想要的行为。
示例:
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
是'company'??(我不确定
0, 1, 2
是日期。
使用x.stack(level=0)
只让'company'级堆叠到索引(行)
然后,x.stack(level=0).reset_index(level=0)
,
reset_index(level=0)
部分只让 'date' 从索引(行)到列
如果需要,您也可以用 x.stack(level=0).reset_index(level=0).rename(columns={'level_0':'date'})
重命名它。
我有一个股票价格数据框,如所附屏幕截图所示。这些列是分层的,公司是一级列,价格类别是下一级。另外,日期是索引。我希望公司符号成为索引,日期成为一个字段(其中一列),但我不知道从哪里开始,而且我已经为此苦苦挣扎了一段时间。有人可以指出我正确的方向吗?所附屏幕截图中的箭头显示了我要完成的操作。
Screenshot
您应该使用带有 stack
和 reset_index
的 level
参数来控制您想要的行为。
示例:
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
是'company'??(我不确定
0, 1, 2
是日期。
使用x.stack(level=0)
只让'company'级堆叠到索引(行)
然后,x.stack(level=0).reset_index(level=0)
,
reset_index(level=0)
部分只让 'date' 从索引(行)到列
如果需要,您也可以用 x.stack(level=0).reset_index(level=0).rename(columns={'level_0':'date'})
重命名它。