【问题标题】:Convert a Stock Return Dataframe to MultiIndex Dataframe将股票返回数据帧转换为 MultiIndex 数据帧
【发布时间】:2020-12-01 23:37:08
【问题描述】:

我有一个以日期为索引和 35 列的数据框。列名称是股票的名称。这些值代表股票收益。

我想将此数据帧转换为 MultiIndex 数据帧,其中 Date 作为一级索引,股票名称作为二级索引,并且唯一显示股票返回值的列。

我已经尝试过了,但没有得到我期望的数据框。

df.set_axis(df.columns.str.split(' ', 1, expand=True), 1, 0).stack(0)

我期待这样的example

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    用途:

    df.stack().rename('value_col').to_frame()
    

    df 是您的数据框,以“日期”为索引。

    【讨论】:

    • 哇。那太酷了。像魅力一样工作。非常感谢您。第二个索引的名称仍然是空白的。如何将二级索引命名为“Stock”?
    • 嗨@Dan!您可以通过在.to_frame() 之前调用.rename_axis(index={None:'sec_level'}) 来完成。最好的!
    猜你喜欢
    • 1970-01-01
    • 2018-05-11
    • 2018-08-14
    • 2021-12-01
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    相关资源
    最近更新 更多