python - 将数据框的列从 0 重命名为字符串(重命名不起作用)

标签 python pandas dataframe

我有一个如下所示的数据框

<表类="s-表"> <头> <日> 索引 <日>0 特征2 特征3 <正文> 0 邮政编码 0.10 是 z 1 纬度 0.56 是 z 2 经度 0.39 是 z

我使用以下代码将第三列名称 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'})
<表类="s-表"> <头> <日> 索引 feature_rank 特征2 特征3 <正文> 0 邮政编码 0.10 是 z 1 纬度 0.56 是 z 2 经度 0.39 是 z

相反:

df = df.rename(index={0: 'feature_rank'})
<表类="s-表"> <头> <日> 索引 <日>0 特征2 特征3 <正文> 特征排名 邮政编码 0.10 是 z 1 纬度 0.56 是 z 2 经度 0.39 是 z

关于python - 将数据框的列从 0 重命名为字符串(重命名不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74953230/

相关文章:

python - 通过 Python 打开时控制 youtube 视频的音量

python - 如何相对于另一个相同大小的数据帧反转数据帧?

python - Pandas -填充nans直到第一个非NULL值

python - 如何根据列值的长度过滤数据框行

python - 如何调试这个缓冲文件队列?

python - PyTorch - 沿新维度的张量乘法

python - 将选定的 JSON 标签转换为 Pandas 数据框

python - Pandas:将 DataFrame 转换为每个单元格的均值和标准差

python - 在数组中查找特定值

python - PANDAS 合并行并保留列顺序