python中dataframe更改列名称

更改列名称有两种方式:

df1=pd.DataFrame({'id':[1,2,3,4],'name':['aa','bb','cc','dd'],'class':[1,1,2,2]})
   id  name  class
0   1   aa      1 
1   2   bb      1 
2   3   cc      2 
3   4   dd      2
方法一:

使用rename函数更改列名

df2=df1.rename(columns={'name':'stu_name','class':'stu_class'})
print(df2)

或者

df1.rename(columns={'name':'stu_name','class':'stu_class'},inplace=True)
print(df1)

在这里插入图片描述
两者效果一样,不同之处是参数inplace的值:
inplace为False表示不改变原有df,返回新的复制的df
inplace为True表示在原有df上改变列名字,不会复制出新的df
不指定inplace则默认为False

方法二:

直接更改全部的列名称

df1.columns=['id','stu_name','stu_class']

这种方式需要将全部列名列出,作为list列表类型返回给df1.columns
如果只列出更改的列名,则会报错
列名的顺序必须和df原来的顺序保持一致,不能错乱


如下是rename函数源码中给的例子

>>> df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
>>> df.rename(str.lower, axis='columns')
   a  b
0  1  4
1  2  5
2  3  6

>>> df.rename({1: 2, 2: 4}, axis='index')
   A  B
0  1  4
2  2  5
4  3  6
>>> df.rename(index=str, columns={"A": "a", "B": "c"})
   a  c
0  1  4
1  2  5
2  3  6

>>> df.rename(index=str, columns={"A": "a", "C": "c"})
   a  B
0  1  4
1  2  5
2  3  6
  • 26
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值