Pandas按位置重命名?

Jun*_*ang 31 python pandas

我只是想知道我是否可以按位置重命名列名.我知道如何使用df.rename(columns = {})按实际名称重命名它们.

如果我不知道他们的名字并且只知道他们的职位,我该怎么办呢?

Exp*_*tor 78

试试这个

df.rename(columns={ df.columns[1]: "your value" }, inplace = True)
Run Code Online (Sandbox Code Playgroud)

  • 仅当所有列名称都是唯一的时,此方法才有效。但是,如果说“df.columns[1] = df.columns[5]”,则仅调用“df.columns[1]”将同时更改“df.columns[1”]和“df.columns[5]” `。 (11认同)
  • 出于某种原因,我需要`df = df.rename({})`之后才能生效 (5认同)
  • 我会选择John Zwinck的解决方案.这个解决方案实际上会导致一些奇怪的错误,如下所示:/sf/ask/3030424701/ (4认同)
  • 是否可以在重命名语句中不使用“df”来执行此操作? (2认同)

Joh*_*nck 37

你可以这样做:

df.rename(columns={ df.columns[1]: "whatever" })
Run Code Online (Sandbox Code Playgroud)

  • 请注意,对于标准行为,将创建并返回副本.您可以在`}`之后添加`inplace = True`来修改对象. (12认同)