栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python对多层列索引取值

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python对多层列索引取值

处理 Dataframe数据,遇到了一个 多层列索引 的数据,再进行切片数据的时候,遇到了一些问题,所以对 多层列索引 的切片做个 整体的总结

首先生成一下数据
import numpy as np
import pandas as pd 
a = pd.MultiIndex.from_product([['第一期','第二期','第三期','第四期'],
								['A', 'B', 'C'],['男','女']], 
								names=['期度','产品','性别'])
df = pd.DataFrame(data = np.random.randint(50,100, size=(3,24)), 
								columns=a,index=['1','2','3'])

数据切片的2种方法,loc 以及 iloc ,做个简单的总结

  • loc是针对索引名使用的
  • iloc是针对下标值使用的

下面使用这两种方法对df进行切片取值,取出下图红框中的数据

loc

loc的方法,不管是行索引,还是列索引 都必须使用 索引名,所以如果索引中有数字作为索引的时候,要加上引号

# 3行数据,所以把行所以写上 ['1','2',"3"]
# 两列不相邻的数据,从第一层列索引开始,按照索引层级依次写入元组。
# 一个元组是一个条件【一列数据】,多个条件用列表包裹
df.loc[['1','2',"3"],[('第一期','A','男'),('第二期','A','男')]]

iloc

iloc的方法,是直接使用下标,行列 都是从0开始 按照下标,列数按照最后一层索引的下标开始

# 行 从0开始  
# 列 最后一层索引,性别这一行列名  下标分别为 0  6
df.iloc[0:3,[0,6]]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011066.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号