看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)行政部把 2024-08 月各部门、各工位、各员工的午餐补贴记录在一张三级索引表里:
import pandas as pd
df = pd.DataFrame({
'补贴': [28, 30, 32, 25, 27, 29],
'交通': [10, 12, 14, 9, 11, 13]
}).set_index([
pd.Index(['市场部', '市场部', '技术部', '技术部', '人事部', '人事部'], name='部门'),
pd.Index(['A区', 'B区', 'A区', 'B区', 'A区', 'B区'], name='工位'),
pd.Index(['张三', '李四', '王五', '赵六', '孙七', '周八'], name='姓名')
])
领导想看:
请用 pandas xs() 分别写 一行代码 完成以上两次提取,并打印结果。
代码如下:
# 1. 技术部所有人的补贴与交通
print(df.xs('技术部', level='部门'))
# 2. 技术部 A 区所有人的补贴
print(df.xs(('技术部', 'A区'), level=['部门', '工位'])['补贴'])
输出:
1)
补贴 交通
工位 姓名
A区 王五 32 14
B区 赵六 25 9
2)
姓名
王五 32
Name: 补贴, dtype: int64
(完)
更新时间:2025-08-18 10:25:26 标签:pandas python 查询 xs