Python|熊猫 Dataframe.rename()
Python是用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas rename()
方法用于重命名任何索引、列或行。列的重命名也可以通过dataframe.columns = [#list]
来完成。但在上述情况下,自由度并不高。即使必须更改一列,也必须传递完整的列列表。此外,上述方法不适用于索引标签。
Syntax: DataFrame.rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None)
Parameters:
mapper, index and columns: Dictionary value, key refers to the old name and value refers to new name. Only one of these parameters can be used at once.
axis: int or string value, 0/’row’ for Rows and 1/’columns’ for Columns.
copy: Copies underlying data if True.
inplace: Makes changes in original Data Frame if True.
level: Used to specify level in case data frame is having multiple level index.
Return Type: Data frame with new names
要下载代码中使用的 CSV,请单击此处。
示例 #1:更改索引标签
在此示例中,名称列设置为索引列,稍后使用 rename() 方法更改其名称。
# importing pandas module
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name" )
# changing index cols with rename()
data.rename(index = {"Avery Bradley": "NEW NAME",
"Jae Crowder":"NEW NAME 2"},
inplace = True)
# display
data
输出:
如输出图像所示,第一个和第二个位置的索引标签名称更改为 NEW NAME & NEW NAME 2。
示例 #2:更改多个列名
在此示例中,通过传递字典来更改多个列名。稍后将结果与使用 .columns 方法返回的数据帧进行比较。在比较之前删除空值,因为 NaN==NaN 将返回 false。
# importing pandas module
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name" )
# changing cols with rename()
new_data = data.rename(columns = {"Team": "Team Name",
"College":"Education",
"Salary": "Income"})
# changing columns using .columns()
data.columns = ['Team Name', 'Number', 'Position', 'Age',
'Height', 'Weight', 'Education', 'Income']
# dropna used to ignore na values
print(new_data.dropna()== data.dropna())
输出:
如输出图像所示,使用两种方式的结果是相同的,因为所有值都是 True。