首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >更改pandas DataFrame中的特定列名

更改pandas DataFrame中的特定列名
EN

Stack Overflow用户
提问于 2014-01-01 19:59:55
回答 7查看 341.6K关注 0票数 225

我一直在寻找一种优雅的方法来更改DataFrame中指定的列名。

播放数据...

import pandas as pd
d = {
         'one': [1, 2, 3, 4, 5],
         'two': [9, 8, 7, 6, 5],
         'three': ['a', 'b', 'c', 'd', 'e']
    }
df = pd.DataFrame(d)

到目前为止我找到的最优雅的解决方案...

names = df.columns.tolist()
names[names.index('two')] = 'new_name'
df.columns = names

我希望能有一个简单的小插曲...此尝试失败...

df.columns[df.columns.tolist().index('one')] = 'another_name'

感谢您收到的任何提示。

EN

回答 7

Stack Overflow用户

发布于 2014-08-30 02:23:55

由于inplace参数可用,因此您不需要复制原始数据框并将其分配回其自身,但请执行以下操作:

df.rename(columns={'two':'new_name'}, inplace=True)
票数 121
EN

Stack Overflow用户

发布于 2015-12-10 10:41:10

关于?

df.columns[2] = "new_name"
票数 48
EN

Stack Overflow用户

发布于 2018-06-06 15:30:06

如果您知道它是哪一列(first / second / nth),那么在一个类似问题上发布的这个解决方案可以工作,无论它是命名的还是未命名的,并且只有一行:https://stackoverflow.com/a/26336314/4355695

df.rename(columns = {list(df)[1]:'new_name'}, inplace=True)
# 1 is for second column (0,1,2..)
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20868394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档