首页 > 解决方案 > 使用就地重命名 Pandas 列

问题描述

我想重命名几列并设置 inplace = False 然后我可以查看结果。为什么设置 inplace = True 会导致 None (我已刷新运行时以运行 inplace=True)?

ckd_renamed = ckd_data.rename(columns = {"id": "Id", "age": "Age", "bp": "blood_pressure"}, inplace=True)

我使用的数据集是“https://raw.githubusercontent.com/dphi-official/Datasets/master/Chronic%20Kidney%20Disease%20(CKD)%20Dataset/ChronicKidneyDisease.csv”

标签: pythonpython-3.xpandas

解决方案


因为当您设置时inplace=True,没有创建新副本,并且ckd_data已就地修改。

None返回就地修改的约定源于例如 Python 的.sort()工作方式。

ckd_data.rename(columns = {"id": "Id", "age": "Age", "bp": "blood_pressure"}, inplace=True)

您将继续引用数据框,现在使用修改后的列名,如ckd_data.

编辑:如果您使用 Colab 并且希望单元格也显示新值,您应该能够添加一个仅包含变量名称的附加表达式语句。

ckd_data.rename(columns = {"id": "Id", "age": "Age", "bp": "blood_pressure"}, inplace=True)
ckd_data

推荐阅读