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


目录
  • 创建Pandas Dataframe
  • 方法一
    • 重命名一个单列
    • 重命名多个列
  • 方法二
    • 方法三
      • 方法四

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

        • 方法1:使用rename()函数。

        • 方法2:分配新列名列表。

        • 方法3:替换列属性的字符串。

        • 方法4:使用set_axis()函数。

        创建Pandas Dataframe

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

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

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

        import pandas as pd
        
        student_dict = {
            "id": [101, 102, 103, 104, 105],
            "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

        方法一

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

        重命名一个单列

        在这个例子中,将使用.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_IDFirst_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")

        已经成功地将列名改为IDNameGrades

        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
        

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

        您可能感兴趣的文章:
        • 修改Pandas的行或列的名字(重命名)
        • Python pandas 重命名索引和列名称的实现
        • Pandas中如何对DataFrame列名进行重命名
        • Python pandas dataframe之重命名相同列名

        评论关闭