首页 > 解决方案 > 如何获得 str.split 就地重命名列的结果?

问题描述

我的 df(从 xlsx 导入)有 26 列。其中 21 个名称以(这是荷兰语的“成本”)开头:kosten_.

两个示例名称:kosten_farmaciekosten_generalistische_basis_ggz.

要更改这些名称,我当然可以编写字典。但是有这么多专栏,我认为最好从摆脱:kosten_部分开始。

以下代码正确执行此操作,即:我得到一个列名列表,没有:kosten_

df.columns.str.split('kosten_').str[1]

现在我希望它在我的 df 中就位。所以我尝试了:

df.rename(columns={(df.columns.str.split('kosten_').str[1])})

这给出了一个错误:TypeError: unhashable type: 'Index'

是否可以使用df.rename. 像上面那样?也许还有其他建议?

标签: pythonpandas

解决方案


您可以直接使用列属性替换

df.columns = df.columns.str.replace('kosten_','')

推荐阅读