首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过值更改pandas.MultiIndex值

通过值更改pandas.MultiIndex值
EN

Stack Overflow用户
提问于 2020-02-13 20:32:34
回答 1查看 32关注 0票数 0

我有一个包含多索引列名的时间历史数据的pandas.DataFrame。多索引的一个级别是列的单位。我希望能够更改列的单位,这是相当简单的。不过,更改多索引来显示新的单元会让我感到困惑。

代码语言:javascript
复制
def units_change(df, current = 'mm', new = 'm', converter = lambda x: x/1000):
    df.loc[:, (slice(None), current)] = df.loc[:, (slice(None), current)].apply(converter)
    #something to change the `current` in the multi-index to `new` ('mm' -> 'm' by default)
    return df

我想我可以暴力地将多索引放入数组中,替换、重建和重新索引,但我希望有一些更简单的方法,我错过了。

EN

回答 1

Stack Overflow用户

发布于 2020-02-13 21:02:21

文档的这一部分没有起到作用吗?

rename方法可用于重命名DataFrame的主索引的特定标签。

代码语言:javascript
复制
>>> df
            0       1
one  y    0.1      1.2
     x    0.2      1.3
zero y    2.3      2.4
     x    2.4      2.7

>>>df.rename(index={"one": "two", "y": "z"})
            0       1
two  z    0.1      1.2
     x    0.2      1.3
zero z    2.3      2.4
     x    2.4      2.7
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60207952

复制
相关文章

相似问题

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