热线电话:13121318867

登录
2020-04-28 阅读量: 1799
多重索引的dataframe种,如何根据某一层索引切片数据?题目详情见正文

请选择df表中所有销售部门的记录,df表详情如下:

参考答案:

list1 = [["第一分公司","第二分公司",],["销售部","市场部","行政部"]]
index = pd.MultiIndex.from_product(list1, names=['公司', '部门'])
df = pd.DataFrame({"姓名":["Allen","Lucy","Tom","Alice","Tim","Lily"],"工龄":np.random.randint(1,5,6)},index = index) #新建题目中的df表
df
df.xs('市场部',level=1,drop_level=False) #drop_level=False,不删除任何索引信息,保留完整索引

代码结果:

5.7656
4
关注作者
收藏
评论(1)

发表评论
yuechuchen
2020-04-28
解题思路:当dataframe有多重索引时,用loc或者iloc索引数据默认按照外层索引,索引不到内层索引,需要调用dataframe的xs方法,dataframe.xs方法进行索引时很灵活,可以通过lecel参数控制按照指定的索引进行数据查询。
0.0000 0 0 回复
推荐帖子
条评论