机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换

索引

  • 行索引  .index()
  • 列索引  .columns()
  • 索引的分类   pd.*Index? +[tab键]
  • 重复索引的处理 

.index.is_unique 判断是否唯一

.index.unique 返回全部不同的索引

.groupby(.index).sum()

机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换

重复索引

机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换

层次化索引

可以使数据在一个轴上有多个索引级别。即可以用二维的数据表达更高维度的数据,使数据组织方式更清晰。它使用 pd.MultiIndex 类来表示。

层次化索引有什么作用?

比如我们在分析股票数据,我们的一级行索引可以是日期;二级行索引可以是股票代码,列索引可以是股票的交易量,开盘价,收盘价等等。这样我们就可以把多个股票放在同一个时间维度下进行考察和分析。

Series 多层索引

pd.MultiIndex.from_tuples(tuples,names=['name','name'])   创建多级索引

.index.levels[0]   一级索引

.index.levels[1]   二级索引

机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换

机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换

DataFrame 多层索引

机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换

索引交换及排序​​​​​​​

.swaplevel('level1','level2')   交换索引顺序

.sortlevel(0)   根据一级索引排序

机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换

按照索引级别进行统计

.sum(level=0) 根据一级索引求和

机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换

索引与列的转换​​​​​​​

.set_index('列') 将列索引变成行索引

.reset_index() 将行索引变回列索引

机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换

机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换