【问题标题】:Replace string elements in pandas Index object替换熊猫索引对象中的字符串元素
【发布时间】:2019-01-08 01:28:49
【问题描述】:

我有一个非常简单的问题,但找不到答案。我有一个包含字符串('string_index')的熊猫索引对象。我想在这个字符串索引中替换某些元素,最好用字典来替换

 [In:] string_index
 [Out:] Index(['A', 'B', 'C', 'D', 'E', 'F'], dtype='object')

 exchange_dict = {'A':'Y', 'B':'Z'}

但是尝试

 string_index.rename(exchange_dict)

不起作用并且方法 .replace 是不可能的。我怎样才能做到这一点?

以此处获取 'string_index' 为例:

 string_list=['A', 'B', 'C', 'D', 'E', 'F']
 stringer = pd.DataFrame(string_list, index=string_list)
 string_index = stringer.index

请注意:“stringer_list”和“stringer”不是挑战的一部分,我只是为了给你一个工作示例而创建的。在我的真实示例中,我只有'string_index'。我想有一个非常简单的解决方案,我太笨了找不到?!

【问题讨论】:

    标签: string python-3.x pandas indexing replace


    【解决方案1】:

    您需要在rename 中提及index

    stringer.rename(index=exchange_dict)
    Out[557]: 
       0
    Y  A
    Z  B
    C  C
    D  D
    E  E
    F  F
    

    更新

    pd.Index(string_index.to_series().replace(exchange_dict))
    Out[570]: Index(['Y', 'Z', 'C', 'D', 'E', 'F'], dtype='object')
    

    【讨论】:

    • 请注意:我需要在“stringer_index”上执行此操作。 '纵梁' 不可用。我只在这里创建了一个工作示例。
    • 谢谢!很棒,正如我所想的那样,通过一些辅助转换可能会很容易
    猜你喜欢
    • 2019-09-21
    • 2018-07-10
    • 2019-06-03
    • 2017-03-12
    • 2019-11-23
    • 2019-02-06
    • 1970-01-01
    • 2017-06-08
    • 2019-03-07
    相关资源
    最近更新 更多