關於數據集的列名,通常建議最好使用小寫字母,刪除特殊字符,並用下划線替換空格。有時數據集的列名可能不是很規范,需要整理修改理列名。
獲取DataFrame的列名
獲取DataFrame的列名,可以使用DataFrame.columns
屬性。
movies_df.columns
輸出
Index(['Rank', 'Genre', 'Description', 'Director', 'Actors', 'Year', 'Runtime (Minutes)', 'Rating', 'Votes', 'Revenue (Millions)', 'Metascore'], dtype='object')
使用rename方法重命名列名
要重命名列名,可以使用DataFrame.rename()
方法,該方法的參數是包含新舊列名的字典。
movies_df.rename(columns={ 'Runtime (Minutes)': 'Runtime', 'Revenue (Millions)': 'Revenue_millions' }, inplace=True) movies_df.columns
輸出
Index(['Rank', 'Genre', 'Description', 'Director', 'Actors', 'Year', 'Runtime', 'Rating', 'Votes', 'Revenue_millions', 'Metascore'], dtype='object')
但是如果我們想把所有的名字都小寫呢?除了使用.rename(),我們還可以為列設置一個名稱列表,如下所示:
使用columns屬性重命名列名
除了rename
方法,columns
屬性也可重命名列名。
movies_df.columns = ['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime', 'rating', 'votes', 'revenue_millions', 'metascore'] movies_df.columns
輸出
Index(['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime', 'rating', 'votes', 'revenue_millions', 'metascore'], dtype='object')
上面指定名稱的代碼過於繁瑣,可以使用更簡潔的循環:
movies_df.columns = [col.lower() for col in movies_df] movies_df.columns
輸出
Index(['rank', 'genre', 'description', 'director', 'actors', 'year', 'runtime', 'rating', 'votes', 'revenue_millions', 'metascore'], dtype='object')