关于数据集的列名,通常建议最好使用小写字母,删除特殊字符,并用下划线替换空格。有时数据集的列名可能不是很规范,需要整理修改理列名。
获取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')