繁体   English   中英

将 dataframe 的列从 0 重命名为字符串(重命名无效)

[英]Rename column of dataframe from 0 to a string (rename not working)

我有一个 dataframe,如下所示

指数 0 特征2 特点3
0 邮政编码 0.10 z
1个 纬度 0.56 z
2个 经度 0.39 z

我使用以下代码将第三列名称 0 更改为其他名称,但是当我再次输入 output 和 dataframe 时,什么都没有改变,该列仍然是 0。

df.rename(index = {0: 'feature_rank'})
# Or alternatively
df.rename(column = {0: 'feature_rank'})

我还想知道是否可以将第二列的名称更改为其他名称。 重命名再次不适用于“索引”列

DataFrame.rename()返回一个新的 dataframe,其中的列已重命名(这在进行方法链接时很有用)。

你想通过这样做来保持结果:

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'})
指数 feature_rank 特征2 特点3
0 邮政编码 0.10 z
1个 纬度 0.56 z
2个 经度 0.39 z

反而:

df = df.rename(index={0: 'feature_rank'})
指数 0 特征2 特点3
feature_rank 邮政编码 0.10 z
1个 纬度 0.56 z
2个 经度 0.39 z

希望这会奏效。

df.rename(columns = {'0':'feature_rank'}, inplace = True)

你应该试试这个:

df.rename(column={'0':'feature_rank', 'feature2': 'my_new_name_for_feature2'}, inplace=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM