【问题标题】:What is the parameter "index" in Pandas.DataFrame.rename method?Pandas.DataFrame.rename 方法中的参数“index”是什么?
【发布时间】:2017-06-24 03:17:24
【问题描述】:

Pandas DataFrame 有一个 rename 方法,它接受一个名为“index”的参数。 我不明白文档中参数的描述: DataFrame.rename

具体来说,我就像文档网页上的示例一样使用它:

df.rename(index=str, columns={"A": "a", "B": "c"})

我明白结果,但我不明白为什么我们设置index=str

index 参数是做什么用的? 为什么示例设置index=str

【问题讨论】:

    标签: python pandas dataframe rename col


    【解决方案1】:

    index参数用于重命名索引,取例子中的df

    df.index
    # RangeIndex(start=0, stop=3, step=1)
    
    df.rename(index=str).index                               # converts index from int to str
    # Index(['0', '1', '2'], dtype='object')
    

    这是可行的,因为在 rename 函数中,您还可以将函数传递给 indexcolumns 参数,这些参数将应用于索引和列。这里 str 充当一个函数,并将每个索引从 int 转换为 str 对象。


    另一个例子:

    df.rename(index=lambda x: x*2).index
    # Int64Index([0, 2, 4], dtype='int64')
    

    【讨论】:

    • 好的,但是当我想重命名列时,为什么我们需要将索引中的每个元素转换为str?为什么df.rename(columns={"A": "a", "B": "c"}) 不起作用?
    • 我相信文档正试图向您展示如何使用 index 参数(虽然可能不是一个明确的方法),因为 df.rename(columns={"A": "a", "B": "c"}) 应该可以正常工作。
    • @user3731622 在 cmets 中显示 rename() 的方式确实有效。您不需要指定索引,它是可选的。
    • 好的,谢谢。我一定有另一个问题 b/c 我以为我试过了,但没有用。 df.rename(columns={"A": "a", "B": "c"}) 确实有效。
    猜你喜欢
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多