DataFrame数据索引转换成列或列转换成数据索引

DataFrame数据集索引转换和重命名

DataFrame数据结构类型我们常见的excel表格一样,直观简单利于理解。
该数据集有行和列及索引的概念。
我们在数据操作中常常需要进行的对数据集进行分组统计之类。这时就很涉及到数据集改变之后数据索引也可能随之改变。

1.查看数据索引列

col_name = bin_df.index.name
print(‘col_name:’,col_name)
print(bin_df)
注:bin_df是数据集

《DataFrame数据索引转换成列或列转换成数据索引》
发现索引列是我们关心的age列,需要将其转换成特征列,即:reset_index()

bin_df = bin_df.reset_index()
col_name = bin_df.index.name
print(‘col_name:’,col_name)
print(bin_df)

结果如下:发现age已经转换成特征列。

《DataFrame数据索引转换成列或列转换成数据索引》
2.给数据集重新命名新的索引列

print(‘col_name:’, bin_df.index.name)
bin_df.index.name = ‘num’
print(bin_df)
print(‘col_name:’, bin_df.index.name)

结果如下:修改索引成功!
《DataFrame数据索引转换成列或列转换成数据索引》
3.指定多个列作为多级索引

bin_df = bin_df.set_index([‘age’,‘woe’])
print(bin_df)
print(‘col_name:’, bin_df.index.names)

结果如下:需要注意的是多层索引名的输出时用的是bin_df.index.names

《DataFrame数据索引转换成列或列转换成数据索引》
同时保留作为索引的列

bin_df = bin_df.set_index([‘age’,‘woe’],drop=False)
print(bin_df)
print(‘col_name:’, bin_df.index.names)

注:drop= False,在列中保留了作为索引的列,等于True时直接删除。

《DataFrame数据索引转换成列或列转换成数据索引》
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,则忽略复制值。

    原文作者:张小杰_2016
    原文地址: https://blog.csdn.net/qq_34535319/article/details/100601656
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞