[python] 一个例子初步学习DataFrame _ 修改列名

这篇博客通过一个例子介绍了如何在Python中对DataFrame进行列名修改。提供了两种方法,一是使用DataFrame.rename()函数,配合字典指定新旧列名;二是直接赋值给DataFrame.columns来更改所有列名。重点强调了inplace和axis参数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例子:

假设有4家公司, 他们都在2个省份有自己的业务, 用统计量v1, v2进行描述, 现在需要对这些数据进行一定的分析.

# -*- coding: utf-8 -*-

import pandas as pd

list1 = [1, 2, 3, 4, 5, 6, 7, 8]
list4 = [8, 7, 6, 5, 4, 3, 2, 1]
list2 = ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b']
list3 = ['c1', 'c2', 'c3', 'c4', 'c1', 'c2', 'c3', 'c4']
df = pd.DataFrame({'pro':list2, 'cp':list3, 'val1':list1, 'val2': list4})
  pro  cp  val1  val2
0   a  c1     1     8
1   a  c2     2     7
2   a  c3     3     6
3   a  c4     4     5
4   b  c1     5     4
5   b  c2     6     3
6   b  c3     7     2
7   b  c4     8     1

方法1: 更改某列列名

DataFrame.rename(map, inplace = 'True', axis='columns')

此时map里装的是 {"旧列名": "新列名"} 的字典, 加后面两个参数可以逐个修改列名. 对map内键值对顺序与个数不敏感, 只会根据老列名所在的键值对修改列名.

此处的 inplace 默认返回 False, 即不对原DataFrame进行修改; axis 默认为'index', 即对行操作, 改为'columns' 才可以对列名进行操作.

# 更改某列的列名
colname1 = {'pro': 'province', 'val1': 'value1', 'cp': 'cpName','val2': 'value2', 'val3': 'value3'}
df.rename(colname1, inplace = True, axis='columns')
  province cpName  value1  value2
0        a     c1       1       8
1        a     c2       2       7
2        a     c3       3       6
3        a     c4       4       5
4        b     c1       5       4
5        b     c2       6       3
6        b     c3       7       2
7        b     c4       8       1

方法2: 修改全部列名

DataFrame.columns = ['col1', 'col2', ..., 'coln']

# 修改全部列名
df.columns = ['province', 'cpName', 'val1', 'val2']
  province cpName  val1  val2
0        a     c1     1     8
1        a     c2     2     7
2        a     c3     3     6
3        a     c4     4     5
4        b     c1     5     4
5        b     c2     6     3
6        b     c3     7     2
7        b     c4     8     1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值