df-drills pandas · Polars · DuckDB SQL · DuckDB Relational 题目列表 登录

transform 与 filter

中等 22-pandas-only pandas 专属 groupbytransformfilter

只保留人数不少于 3 人的部门里的员工,并给每个员工加一列所在部门的平均月薪。

  • 按 dept_id 分部门,人数按员工行数计。
  • 人数 ≥ 3 的部门,其全部员工都保留;人数 < 3 的部门整个丢掉。
  • dept_id 为 null 的员工不属于任何部门,一律不输出(即使这样的员工有 3 个以上)。
  • dept_avg 是该员工所在部门全部员工 salary 的算术平均,不做舍入。
  • 输出的行数应与保留下来的员工数相同(不是每个部门一行)。

输入

  • employees(emp_id, name, dept_id, manager_id, hire_date, salary, title, email)

输出

列为 emp_id, name, dept_id, salary, dept_avg,行顺序不限。

输入表 (case base,共 2 个 case:base、edge)

employees hr/employees
#emp_idint64namestringdept_idint64manager_idint64hire_datedatesalaryint64titlestringemailstring
1 1 Grace Liu 1 null 2015-10-01 98000 CEO grace.liu@corp.example
2 2 Leo Wang 2 1 2017-09-09 72000 VP Engineering leo.wang@corp.example
3 3 Sara Chen 3 1 2020-06-05 70000 VP Sales sara.chen@corp.example
4 4 Lucas Zhang 4 2 2023-04-20 52000 Engineering Manager lucas.zhang@corp.example
5 5 Mia Zhao 5 2 2016-07-16 52000 Data Manager mia.zhao@corp.example
6 6 Kevin Wu 3 3 2016-10-23 45000 Sales Manager kevin.wu@corp.example
7 7 Lily Xu 6 4 2025-03-17 48000 Infra Lead lily.xu@corp.example
8 8 Tom Huang 4 4 2022-01-03 46000 Senior Engineer tom.huang@corp.example
9 9 Liam Zhou 4 4 2020-10-01 39000 Software Engineer liam.zhou@corp.example
10 10 Nina Yang 4 4 2020-10-02 39000 Software Engineer nina.yang@corp.example
11 11 Oscar Lin 4 8 2022-07-15 26000 Junior Engineer oscar.lin@corp.example
12 12 Linda Ma 5 5 2016-08-25 41000 Data Engineer linda.ma@corp.example
13 13 Eric Sun 5 5 2021-09-09 33000 Data Analyst eric.sun@corp.example
14 14 Ivy He 5 5 2018-05-29 41000 Data Engineer ivy.he@corp.example
15 15 Lei Gao 5 12 2016-06-02 27000 Junior Data Engineer lei.gao@corp.example
16 16 Hao Guo 6 7 2016-12-18 44000 Site Reliability Engineer hao.guo@corp.example
17 17 Fang Luo 6 7 2020-11-11 38000 Infra engineer fang.luo@corp.example
18 18 Jun Liang 6 16 2020-09-08 25000 Junior Engineer jun.liang@corp.example
19 19 Dana Song 3 6 2016-10-13 31000 Account Executive dana.song@corp.example
20 20 Victor Tang 3 6 2018-09-12 31000 Account Executive victor.tang@corp.example
显示前 20 行,共 40 行

期望输出 (case base,行顺序不限)

#emp_idInt64nameStringdept_idFloat64salaryInt64dept_avgFloat64
1 3 Sara Chen 3.0 70000 35700.0
2 4 Lucas Zhang 4.0 52000 40500.0
3 5 Mia Zhao 5.0 52000 36250.0
4 6 Kevin Wu 3.0 45000 35700.0
5 7 Lily Xu 6.0 48000 36333.33333
6 8 Tom Huang 4.0 46000 40500.0
7 9 Liam Zhou 4.0 39000 40500.0
8 10 Nina Yang 4.0 39000 40500.0
9 11 Oscar Lin 4.0 26000 40500.0
10 12 Linda Ma 5.0 41000 36250.0
11 13 Eric Sun 5.0 33000 36250.0
12 14 Ivy He 5.0 41000 36250.0
13 15 Lei Gao 5.0 27000 36250.0
14 16 Hao Guo 6.0 44000 36333.33333
15 17 Fang Luo 6.0 38000 36333.33333
16 18 Jun Liang 6.0 25000 36333.33333
17 19 Dana Song 3.0 31000 35700.0
18 20 Victor Tang 3.0 31000 35700.0
19 21 Wen Han 3.0 29500 35700.0
20 22 Lu Feng 3.0 36000 35700.0
21 23 Yan Deng 3.0 12000 35700.0
22 25 Ping Peng 4.0 37000 40500.0
23 26 Qing Xie 4.0 30000 40500.0
24 29 Xin Cai 5.0 47000 36250.0
25 30 Bob Pan 4.0 53000 40500.0
26 31 Chen Du 6.0 38000 36333.33333
27 32 Amy Yu 3.0 46500 35700.0
28 34 Wei Shi 5.0 26000 36250.0
29 35 Zhang Min 4.0 37000 40500.0
30 36 王磊 3.0 28000 35700.0
31 37 李静 5.0 23000 36250.0
32 38 Henry Kong 6.0 25000 36333.33333
33 39 Logan Bai 4.0 46000 40500.0
34 40 Sophie Fan 3.0 28000 35700.0
共 34 行