pandas 将 Dataframe 列从0重命名为字符串(重命名不起作用)

3lxsmp7m  于 2023-01-01  发布在  其他
关注(0)|答案(3)|浏览(208)

我有一个 Dataframe ,如下所示
| | 索引|无|功能2|特辑3|
| - ------|- ------|- ------|- ------|- ------|
| 无|邮政编码|0.10分|Y型|z|
| 1个|纬度|0.56| Y型|z|
| 第二章|经度|0.39| Y型|z|
我已经使用下面的代码将第三个列名0更改为其他名称,但是当我再次输出 Dataframe 时,没有任何更改,列仍然是0。

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

我还想知道是否有可能将第二列的名称更改为其他名称。重命名再次对“索引”列无效

jm81lzqq

jm81lzqq1#

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'})

| | 索引|特征等级|功能2|特辑3|
| - ------| - ------| - ------| - ------| - ------|
| 无|邮政编码|0.10分|Y型|z|
| 1个|纬度|0.56| Y型|z|
| 第二章|经度|0.39| Y型|z|
相反:

df = df.rename(index={0: 'feature_rank'})

| | 索引|无|功能2|特辑3|
| - ------| - ------| - ------| - ------| - ------|
| 特征等级|邮政编码|0.10分|Y型|z|
| 1个|纬度|0.56| Y型|z|
| 第二章|经度|0.39| Y型|z|

hjqgdpho

hjqgdpho2#

希望这能管用。
df.重命名(列= {'0 ':'feature_rank'},inplace = True)

vx6bjr1n

vx6bjr1n3#

你应该试试这个:

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

相关问题