Pandas實現(xiàn)重命名列的4種方法
Pandas dataframe現(xiàn)在已經(jīng)成為主流。大家都在用它進行數(shù)據(jù)分析、機器學習、數(shù)據(jù)工程,甚至軟件開發(fā)。學習重命名列是數(shù)據(jù)清洗的第一步,而數(shù)據(jù)清洗是數(shù)據(jù)分析的核心部分。我們在這篇文章中來教大家重命名單列或多列名稱的四種方法。
方法1:使用
rename()
函數(shù)。方法2:分配新列名列表。
方法3:替換列屬性的字符串。
方法4:使用
set_axis()
函數(shù)。
創(chuàng)建Pandas Dataframe
將首先創(chuàng)建一個簡單的學生班級成績字典。它由三列組成:id
、name
和grade
,以及五行。
為了將Python字典轉(zhuǎn)換為Pandas Dataframe,將使用pandas DataFrame()
函數(shù),并使用Deepnote(這是一個Jupyter Notebook云端筆記本)顯示結(jié)果。
注意:將多次使用
student_dict
字典來為每個方法創(chuàng)建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"], } # 將字典轉(zhuǎn)換為Dataframe student_df_1 = pd.DataFrame(student_dict) student_df_1
id | name | grade | |
---|---|---|---|
0 | 101 | Abid | A |
1 | 102 | Matt | B |
2 | 103 | Karen | D |
3 | 104 | Abhijeet | A |
4 | 105 | Malena | C |
方法一
第一種方法非常簡單,使用pandas
的rename()
函數(shù)來重新標記列名。
重命名一個單列
在這個例子中,將使用.rename()
來重命名一個單列。只需要向columns
參數(shù)提供一個新、舊列名的字典。
例如:{"old_column_name" : "new_column_name" }
。
可以看到,已經(jīng)成功地用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
屬性來重新命名這些列。
例如,使用字典創(chuàng)建了一個新的DataFrame,并通過向列屬性提供一個字符串列表來重命名列。
student_df_2 = pd.DataFrame(student_dict) student_df_2.columns = ["Student_ID", "First_Name", "Average_Grade"] student_df_2
方法三
第三種方法是Python生態(tài)的原生方法,替換columns
屬性的字符串。
例如:df = df.columns.str.replace("old_name", "new_name")
。
已經(jīng)成功地將列名改為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()
函數(shù)重命名列。需要提供一個新名稱的列表,并設置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實現(xiàn)重命名列的4種方法的文章就介紹到這了,更多相關Pandas 重命名列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python中decimal.Decimal類型和float類型的比較
這篇文章主要介紹了Python中decimal.Decimal類型和float類型的比較,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11使用python對多個txt文件中的數(shù)據(jù)進行篩選的方法
今天小編就為大家分享一篇使用python對多個txt文件中的數(shù)據(jù)進行篩選的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07python爬蟲之你好,李煥英電影票房數(shù)據(jù)分析
這篇文章主要介紹了python爬蟲之你好,李煥英電影票房數(shù)據(jù)分析,文中有非常詳細的代碼示例,對正在學習python爬蟲的小伙伴們有一定的幫助,需要的朋友可以參考下2021-04-04