代码之家  ›  专栏  ›  技术社区  ›  Sheldon

如何从用户定义的值开始重置Pandas数据帧的索引

  •  0
  • Sheldon  · 技术社区  · 4 年前

    我想 重置 来自用户定义的值的数据帧的索引, 例如 42.

    让我们考虑一个简单的数据帧:

    import pandas as pd
    df=pd.DataFrame({'a':[1,2,3,4,5]})
    

    This answer 简单地建议移动数据帧的索引:

    df.index = df.index + 42
    

    这将返回:

        a
    42  1
    43  2
    44  3
    45  4
    46  5
    

    但是有可能使用熊猫的 reset_index 方法也一样吗?

    到目前为止,我发现的最好的解决方案是先重置索引,然后移动索引:

    def reset_index_from_user_defined_value(df, starting_index = 42):
        df = df.reset_index(drop=True)
        df.index = df.index + starting_index
        return df
    

    有更好的方法来实现这一点吗?

    1 回复  |  直到 4 年前
        1
  •  1
  •   Naveed    4 年前

    这是一种方法

    使用以用户定义的起始值开头的数组设置索引

    start=42
    df.set_index( np.arange(start, start+len(df)))
    
    
        a
    42  1
    43  2
    44  3
    45  4
    46  5