Pandas中如何修改DataFrame列名

发布时间:2022-03-08 16:14:46 作者:小新
来源:亿速云 阅读:934

这篇文章主要介绍Pandas中如何修改DataFrame列名,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

输入:

   $a  $b  $c  $d  $e
0   1   2   3   4   5

 期望的输出:

   a  b  c  d  e
0  1  2  3  4  5

原数据DataFrame:

import pandas as pd
 
df = pd.DataFrame({'$a': [1], '$b': [2], '$c': [3], '$d': [4], '$e': [5]})

解决方法1:通过DataFrame.columns类的自身属性修改

1. 暴力修改

df.columns = ['a', 'b', 'c', 'd', 'e']

2. stirp 方法

strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

df.columns = df.columns.str.strip('$')

3. lambda 表达式

map() 会根据提供的函数对指定序列做映射。以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

lambda x: x[1:]表示取第二个元素,因此列表名$a、$b等只取出a、b。

df.columns = df.columns.map(lambda x: x[1:])

解决方法2:通过DataFrame.rename()函数修改

1. 暴力修改(可以只修改部分列名)

df.rename(columns=('$a': 'a', '$b': 'b', '$c': 'c', '$d': 'd', '$e': 'e'}, inplace=True)

2. lambda 表达式

调用replace函数,把$替换为空。

df.rename(columns=lambda x:x.replace('$',''), inplace=True)

pandas 更改DataFrame的行名或列名实例

更改行名或更改列名可以选用rename函数。

首先,构建一个dataframe:

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

输出结果为:

one two three
a 1 5 9
b 2 6 10
c 3 7 11
d 4 8 12

更改列名

将第2列列名更改为twotwo

df.rename(columns={'two':'twotwo'},inplace=True)
print(df)
1
2

输出结果为:

one twotwo three
a 1 5 9
b 2 6 10
c 3 7 11
d 4 8 12

更改行名

将第1行和第2行的行名更改为aa,bb

df.rename(index={'a':'aa','b':'bb'},inplace=True)
print(df)
1
2

输出结果为:

one twotwo three
aa 1 5 9
bb 2 6 10
c 3 7 11
d 4 8 12

更改成功。

当然,也可以选择暴力更改行名或列名:

df.columns=['onon','twtw','thth']
print(df)
1
2

输出结果为:

onon twtw thth
aa 1 5 9
bb 2 6 10
c 3 7 11
d 4 8 12

以上是“Pandas中如何修改DataFrame列名”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. 如何实现pandas DataFrame数据选取,修改,切片
  2. pandas中DataFrame怎么进行修改

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

pandas dataframe

上一篇:如何利用Pandas读取某列某行数据

下一篇:Python+matplotlib如何绘制堆叠图

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》