[英]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.