机器学习数据科学包(六)——Pandas基础索引:重复索引处理,层次化索引,索引交换排序,索引与列的转换
索引
- 行索引 .index()
- 列索引 .columns()
- 索引的分类 pd.*Index? +[tab键]
- 重复索引的处理
.index.is_unique 判断是否唯一
.index.unique 返回全部不同的索引
.groupby(.index).sum()
重复索引
层次化索引
可以使数据在一个轴上有多个索引级别。即可以用二维的数据表达更高维度的数据,使数据组织方式更清晰。它使用 pd.MultiIndex 类来表示。
层次化索引有什么作用?
比如我们在分析股票数据,我们的一级行索引可以是日期;二级行索引可以是股票代码,列索引可以是股票的交易量,开盘价,收盘价等等。这样我们就可以把多个股票放在同一个时间维度下进行考察和分析。
Series 多层索引
pd.MultiIndex.from_tuples(tuples,names=['name','name']) 创建多级索引
.index.levels[0] 一级索引
.index.levels[1] 二级索引
DataFrame 多层索引
索引交换及排序
.swaplevel('level1','level2') 交换索引顺序
.sortlevel(0) 根据一级索引排序
按照索引级别进行统计
.sum(level=0) 根据一级索引求和
索引与列的转换
.set_index('列') 将列索引变成行索引
.reset_index() 将行索引变回列索引