设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 154|回复: 21

Pandas实现重命名列的4种方法

[复制链接]

2

主题

46

回帖

138

积分

注册会员

积分
138
发表于 2024-4-20 09:43:26 | 显示全部楼层 |阅读模式
目录

Pandas dataframe现在已经成为主流。大家都在用它进行数据分析、机器学习、数据工程,甚至软件开发。学习重命名列是数据清洗的第一步,而数据清洗是数据分析的核心部分。我们在这篇文章中来教大家重命名单列或多列名称的四种方法。

  • 方法1:使用
    1. rename()
    复制代码
    函数。
  • 方法2:分配新列名列表。
  • 方法3:替换列属性的字符串。
  • 方法4:使用
    1. set_axis()
    复制代码
    函数。

创建Pandas Dataframe

将首先创建一个简单的学生班级成绩字典。它由三列组成:
  1. id
复制代码
  1. name
复制代码
  1. grade
复制代码
,以及五行。
为了将Python字典转换为Pandas Dataframe,将使用
  1. pandas DataFrame()
复制代码
函数,并使用Deepnote(这是一个Jupyter Notebook云端笔记本)显示结果。
  1. <strong>注意:</strong>将多次使用[code]student_dict
复制代码
字典来为每个方法创建Dataframe。[/code]
  1. import pandas as pd

  2. student_dict = {
  3.     "id": [101, 102, 103, 104, 105],
  4.     "name": ["Abid", "Matt", "Karen", "Abhijeet", "Malena"],
  5.     "grade": ["A", "B", "D", "A", "C"],
  6. }

  7. # 将字典转换为Dataframe
  8. student_df_1 = pd.DataFrame(student_dict)
  9. student_df_1
复制代码
idnamegrade0101AbidA1102MattB2103KarenD3104AbhijeetA4105MalenaC
方法一

第一种方法非常简单,使用
  1. pandas
复制代码
  1. rename()
复制代码
函数来重新标记列名。

重命名一个单列

在这个例子中,将使用
  1. .rename()
复制代码
来重命名一个单列。只需要向
  1. columns
复制代码
参数提供一个新、旧列名的字典。
例如:
  1. {"old_column_name" : "new_column_name" }
复制代码

可以看到,已经成功地用
  1. ID
复制代码
替换了
  1. id
复制代码
  1. student_df_1.rename(columns={"id": "ID"}, inplace=True)

  2. student_df_1
复制代码
  1. <strong>注意:</strong>inplace = True意味着正在对Dataframe进行修改。它类似于df = df.rename()。
复制代码
重命名多个列

对于多列,只需提供用逗号(
  1. ,
复制代码
)分隔的新旧列名字典,它就会自动替换列名。
新的列名是
  1. Student_ID
复制代码
  1. First_Name
复制代码
,和
  1. Average_Grade
复制代码
  1. student_df_1.rename(
  2.     columns={"ID": "Student_ID", "name": "First_Name", "grade": "Average_Grade"},
  3.     inplace=True,
  4. )

  5. student_df_1
复制代码


方法二

第二种方法很简单明了。将通过将新名称的列表分配给DataFrame对象的
  1. columns
复制代码
属性来重新命名这些列。
例如,使用字典创建了一个新的DataFrame,并通过向列属性提供一个字符串列表来重命名列。
  1. student_df_2 = pd.DataFrame(student_dict)
  2. student_df_2.columns = ["Student_ID", "First_Name", "Average_Grade"]

  3. student_df_2
复制代码


方法三

第三种方法是Python生态的原生方法,替换
  1. columns
复制代码
属性的字符串。
例如:
  1. df = df.columns.str.replace("old_name", "new_name")
复制代码

已经成功地将列名改为
  1. ID
复制代码
  1. Name
复制代码
  1. Grades
复制代码
  1. student_df_3 = pd.DataFrame(student_dict)

  2. student_df_3.columns = student_df_3.columns.str.replace("id", "ID")
  3. student_df_3.columns = student_df_3.columns.str.replace("name", "Name")
  4. student_df_3.columns = student_df_3.columns.str.replace("grade", "Grades")

  5. student_df_3
复制代码


方法四

在第四种方法中,将使用
  1. set_axis()
复制代码
函数重命名列。需要提供一个新名称的列表,并设置
  1. axis = "columns"
复制代码
来重命名列,而不是索引。
  1. student_df_4 = pd.DataFrame(student_dict)
  2. student_df_4.set_axis(["A", "B", "C"], axis="columns", inplace=True)

  3. student_df_4
复制代码

到此这篇关于Pandas实现重命名列的4种方法的文章就介绍到这了,更多相关Pandas 重命名列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

1

主题

59

回帖

141

积分

注册会员

积分
141
发表于 2024-4-29 10:34:22 | 显示全部楼层
顶一个,观点非常中肯!

1

主题

38

回帖

78

积分

注册会员

积分
78
发表于 2024-5-3 05:47:56 | 显示全部楼层
说得太好了,完全同意!

0

主题

38

回帖

75

积分

注册会员

积分
75
发表于 2024-5-21 12:42:57 | 显示全部楼层
嘎嘎嘎嘎嘎嘎嘎

1

主题

51

回帖

125

积分

注册会员

积分
125
发表于 2024-5-21 23:59:42 | 显示全部楼层
666666666666

0

主题

45

回帖

88

积分

注册会员

积分
88
发表于 2024-6-10 03:00:02 | 显示全部楼层
保持尊重和礼貌对待其他成员是必要的。
  • 打卡等级:初来乍到
  • 打卡总天数:4
  • 打卡月天数:0
  • 打卡总奖励:50
  • 最近打卡:2024-09-16 21:34:32

0

主题

104

回帖

362

积分

中级会员

积分
362
发表于 2024-6-16 10:05:23 | 显示全部楼层
看了LZ的帖子,我只想说一句很好很强大!

2

主题

53

回帖

151

积分

注册会员

积分
151
发表于 2024-6-22 18:40:22 | 显示全部楼层
6666666666
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 打卡月天数:0
  • 打卡总奖励:93
  • 最近打卡:2024-09-19 09:19:04

0

主题

82

回帖

307

积分

中级会员

积分
307
发表于 2024-7-10 13:29:42 | 显示全部楼层
牛逼

1

主题

54

回帖

130

积分

注册会员

积分
130
发表于 2024-7-15 15:54:11 | 显示全部楼层
同意!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-24 10:34 , Processed in 0.110237 second(s), 27 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表