Python Pandas Dataframe.rename()
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas rename()方法用于重命名任何索引、列或行。列的重命名也可以通过dataframe.columns = [#list] 来完成。但是在上述情况下,并没有太多的自由。即使只有一列需要改变,也必须传递整个列列表。另外,上述方法不适用于索引标签。
语法: DataFrame.rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None)
参数:
mapper: 索引和列。字典值,key指的是旧名称,value指的是新名称。这些参数中只有一个可以同时使用。
axis: int or string value, 0/’row’ for Rows and 1/’columns’ for Columns.
copy: 如果为真,则复制基础数据。
inplace:如果为真,则在原始数据框中进行修改。
level: 用于在数据框架有多级索引的情况下指定级别。
返回类型。带有新名称的数据框
例子#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())
输出:
如输出图像所示,使用两种方式的结果是相同的,因为所有的值都是真。