DataFrame数据集索引转换和重命名
DataFrame数据结构类型我们常见的excel表格一样,直观简单利于理解。
该数据集有行和列及索引的概念。
我们在数据操作中常常需要进行的对数据集进行分组统计之类。这时就很涉及到数据集改变之后数据索引也可能随之改变。
1.查看数据索引列
col_name = bin_df.index.name
print(‘col_name:’,col_name)
print(bin_df)
注:bin_df是数据集
发现索引列是我们关心的age列,需要将其转换成特征列,即:reset_index()
bin_df = bin_df.reset_index()
col_name = bin_df.index.name
print(‘col_name:’,col_name)
print(bin_df)
结果如下:发现age已经转换成特征列。
2.给数据集重新命名新的索引列
print(‘col_name:’, bin_df.index.name)
bin_df.index.name = ‘num’
print(bin_df)
print(‘col_name:’, bin_df.index.name)
结果如下:修改索引成功!
3.指定多个列作为多级索引
bin_df = bin_df.set_index([‘age’,‘woe’])
print(bin_df)
print(‘col_name:’, bin_df.index.names)
结果如下:需要注意的是多层索引名的输出时用的是bin_df.index.names
同时保留作为索引的列
bin_df = bin_df.set_index([‘age’,‘woe’],drop=False)
print(bin_df)
print(‘col_name:’, bin_df.index.names)
注:drop= False,在列中保留了作为索引的列,等于True时直接删除。
4. 使用rename方法:
DataFrame.rename(mapper = None,index = None,columns = None,axis = None,copy = True,inplace = False,level = None )
参数介绍:
mapper,index,columns:可以任选其一使用,可以是将index和columns结合使用。index和column直接传入mapper或者字典的形式。
axis:int或str,与mapper配合使用。可以是轴名称(‘index’,‘columns’)或数字(0,1)。默认为’index’。
copy:boolean,默认为True,是否复制基础数据。
inplace:布尔值,默认为False,是否返回新的DataFrame。如果为True,则忽略复制值。