Pandas.DataFrame.rename 方法中的参数“index”是啥?

Posted

技术标签:

【中文标题】Pandas.DataFrame.rename 方法中的参数“index”是啥?【英文标题】: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

【问题讨论】:

【参考方案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") 确实有效。

以上是关于Pandas.DataFrame.rename 方法中的参数“index”是啥?的主要内容,如果未能解决你的问题,请参考以下文章

卡方检验详解

阻塞非阻塞,同步异步总结

卡方检验结果怎么看呀,

卡方检验和趋势卡方检验的区别?如何在SPSS中操作?

SPSS做卡方检验是报错了

如何解读卡方检验结果?跪求大神