我有一个如下所示的数据框
我使用以下代码将第三列名称 0 更改为其他名称,但是当我再次输出数据帧时,没有任何变化,该列仍然是 0。
df.rename(index = {0: 'feature_rank'})
# Or alternatively
df.rename(column = {0: 'feature_rank'})
我还想知道是否可以将第二列的名称更改为其他名称。重命名再次不适用于“索引”列
最佳答案
DataFrame.rename()
返回一个新的数据框,其中的列已重命名(这在进行方法链接时很有用)。
您想通过以下方式保持结果:
df = df.rename(column={0: 'feature_rank'})
或者它有一个参数(称为 inplace
),允许您就地执行操作(因此您不需要重新分配):
df.rename(column={0: 'feature_rank'}, inplace=True)
如果你想重命名多个列,你可以将它们添加到字典中,例如:
df = df.rename(column={0: 'feature_rank', 'feature2': 'my_new_name_for_feature2'})
注意事项
关于使用df.rename(index=...)
与 df.rename(columns=...)
那些会有不同的结果。设置 index
参数将重命名行,设置 columns
参数将改为重命名列。
例如:
df = df.rename(column={0: 'feature_rank'})
相反:
df = df.rename(index={0: 'feature_rank'})
关于python - 将数据框的列从 0 重命名为字符串(重命名不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74953230/