暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据分析必备技能,用4种方法重命名Pandas中的列

905

重命名Pandas列的4种方法,用代码示例带领初学者学习Pandas的简单教程。

长按关注《Python学研大本营》,加入读者群,分享更多精彩

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

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

创建Pandas Dataframe

将首先创建一个简单的学生班级成绩字典。它由三列组成:id
name
grade
,以及五行。

为了将Python字典转换为Pandas Dataframe,将使用pandas DataFrame()
函数,并使用Deepnote(这是一个Jupyter Notebook云端笔记本)显示结果。

注意:将多次使用student_dict
字典来为每个方法创建Dataframe。

import pandas as pd

student_dict = {
    "id": [101102103104105],
    "name": ["Abid""Matt""Karen""Abhijeet""Malena"],
    "grade": ["A""B""D""A""C"],
}

# 将字典转换为Dataframe
student_df_1 = pd.DataFrame(student_dict)
student_df_1


idnamegrade
0101AbidA
1102MattB
2103KarenD
3104AbhijeetA
4105MalenaC

方法一

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

重命名一个单列

在这个例子中,将使用.rename()
来重命名一个单列。只需要向columns
参数提供一个新、旧列名的字典。

例如:{"old_column_name" : "new_column_name" }

可以看到,已经成功地用ID
替换了id

student_df_1.rename(columns={"id""ID"}, inplace=True)

student_df_1

注意:inplace = True
意味着正在对Dataframe进行修改。它类似于df = df.rename()

重命名多个列

对于多列,只需提供用逗号(,
)分隔的新旧列名字典,它就会自动替换列名。

新的列名是Student_ID
First_Name
,和Average_Grade

student_df_1.rename(
    columns={"ID""Student_ID""name""First_Name""grade""Average_Grade"},
    inplace=True,
)

student_df_1

方法二

第二种方法很简单明了。将通过将新名称的列表分配给DataFrame对象的columns
属性来重新命名这些列。

例如,使用字典创建了一个新的DataFrame,并通过向列属性提供一个字符串列表来重命名列。

student_df_2 = pd.DataFrame(student_dict)
student_df_2.columns = ["Student_ID""First_Name""Average_Grade"]

student_df_2

方法三

第三种方法是Python生态的原生方法,替换columns
属性的字符串。

例如:df = df.columns.str.replace("old_name", "new_name")

已经成功地将列名改为ID
Name
Grades

student_df_3 = pd.DataFrame(student_dict)

student_df_3.columns = student_df_3.columns.str.replace("id""ID")
student_df_3.columns = student_df_3.columns.str.replace("name""Name")
student_df_3.columns = student_df_3.columns.str.replace("grade""Grades")

student_df_3

方法四

在第四种方法中,将使用set_axis()
函数重命名列。需要提供一个新名称的列表,并设置axis = "columns"
来重命名列,而不是索引。

student_df_4 = pd.DataFrame(student_dict)
student_df_4.set_axis(["A""B""C"], axis="columns", inplace=True)

student_df_4

推荐书单

《Pandas1.x实例精解》

《Pandas1.x实例精解》详细阐述了与Pandas相关的基本解决方案,主要包括Pandas基础,DataFrame基本操作,创建和保留DataFrame,开始数据分析,探索性数据分析,选择数据子集,过滤行,对齐索引,分组以进行聚合、过滤和转换,将数据重组为规整形式,组合Pandas对象,时间序列分析,使用Matplotlib、Pandas和Seaborn进行可视化,调试和测试等内容。此外,该书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。《Pandas1.x实例精解》适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。

【半价促销中】购买链接:https://item.jd.com/13255935.html

精彩回顾

《知识图谱并不难,用Neo4j和Python打造社交图谱(下)》

《知识图谱并不难,用Neo4j和Python打造社交图谱(中)》

《知识图谱并不难,用Neo4j和Python打造社交图谱(上)》

《分析气象数据,使用Python进行可视化如此简单》

《用Python监控并分析城市空气质量》

《活学活用虚拟环境,Python编程更高效》

长按关注《Python学研大本营》,加入读者群
长按访问【IT今日热榜】,发现每日技术热点

文章转载自Python学研大本营,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论