Pandas修改DataFrame列名的两种方法实例

作者:小晓酱手记 时间:2021-09-30 06:26:16 

输入:

$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

来源:https://xiaoshuwen.blog.csdn.net/article/details/100066174

标签:pandas,dataframe,列名
0
投稿

猜你喜欢

  • Python表达式的优先级详解

    2021-09-21 14:24:59
  • 关于MYSQL中每个用户取1条记录的三种写法(group by xxx)

    2024-01-22 02:08:38
  • Python利用Seaborn绘制多标签的混淆矩阵

    2022-12-12 17:46:22
  • sql ROW_NUMBER()与OVER()方法案例详解

    2024-01-12 21:34:32
  • 详解python项目实战:模拟登陆CSDN

    2023-02-09 01:53:34
  • asp连接access数据库表代码实例

    2008-04-13 06:18:00
  • Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子

    2021-12-04 12:15:05
  • 详解vue-Resource(与后端数据交互)

    2024-06-05 09:15:06
  • 区别JavaScript函数声明与变量声明

    2024-04-18 09:34:42
  • 视觉直观感受若干常用排序算法

    2022-05-09 06:45:24
  • Python检查 云备份进程是否正常运行代码实例

    2023-07-08 23:59:05
  • Mysql 忘记root密码和修改root密码的解决方法(小结)

    2024-01-20 09:01:22
  • 原生js仿浏览器滚动条效果

    2024-04-10 16:09:33
  • asp之让Session永不过期

    2011-04-15 10:42:00
  • asp如何去除HTML标签

    2010-06-07 20:47:00
  • Python图像锐化与边缘检测之Sobel与Laplacian算子详解

    2023-01-25 01:36:04
  • Numpy广播域的理解

    2023-03-11 14:37:11
  • JavaScript实现获取最近7天的日期的方法详解

    2024-04-27 15:20:59
  • asp 过滤尖括号内所有内容的正则代码

    2011-04-03 10:40:00
  • 一文详解Go语言单元测试的原理与使用

    2024-05-09 10:08:03
  • asp之家 网络编程 m.aspxhome.com