首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将pandas多索引折叠为单个索引

将pandas多索引折叠为单个索引
EN

Stack Overflow用户
提问于 2018-01-25 05:27:12
回答 2查看 4.1K关注 0票数 5

我有一个多索引的Pandas数据帧,看起来像这样:

如何将三层索引合并为一个索引?也就是说,我想把(1987,1,2)变成pd.datetime(1987,1,2)。我更喜欢使用df.index.map的矢量化方法。下面是可以创建数据帧顶部的代码:

代码语言:javascript
运行
复制
df = pd.DataFrame(
    {'3 months': [1, 2, 3, 4, 5]},
    index=[
        [1987, 1987, 1987, 1987,1987],
        [1,1,1,1,1],
        [2,5,6,7,8]
    ]
)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-25 05:29:40

使用pd.Index.map实现最简单的解决方案

代码语言:javascript
运行
复制
df.set_index(df.index.map(lambda t: pd.datetime(*t)))

            3 months
1987-01-02         1
1987-01-05         2
1987-01-06         3
1987-01-07         4
1987-01-08         5
票数 5
EN

Stack Overflow用户

发布于 2018-01-25 05:36:21

传递给数据帧

代码语言:javascript
运行
复制
df.index=pd.to_datetime(pd.DataFrame(df.index.values.tolist(), columns=['year','month','day']))
df
Out[669]: 
            3 months
1987-01-02         1
1987-01-05         2
1987-01-06         3
1987-01-07         4
1987-01-08         5
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48431868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档