当前位置: 首页 > article >正文

力扣:181. 超过经理收入的员工(Python3)

题目:

表:Employee 

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| name        | varchar |
| salary      | int     |
| managerId   | int     |
+-------------+---------+
id 是该表的主键(具有唯一值的列)。
该表的每一行都表示雇员的ID、姓名、工资和经理的ID。

编写解决方案,找出收入比经理高的员工。

以 任意顺序 返回结果表。

结果格式如下所示。

来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:

Employee 表:
+----+-------+--------+-----------+
| id | name  | salary | managerId |
+----+-------+--------+-----------+
| 1  | Joe   | 70000  | 3         |
| 2  | Henry | 80000  | 4         |
| 3  | Sam   | 60000  | Null      |
| 4  | Max   | 90000  | Null      |
+----+-------+--------+-----------+


输出:

+----------+
| Employee |
+----------+
| Joe      |
+----------+


解释:Joe 是唯一挣得比经理多的雇员。

解法:

把表转成字典,键是id列,剩下地列作为值。

代码:

import pandas as pd

def find_employees(employee: pd.DataFrame) -> pd.DataFrame:
    dic = dict(zip(employee['id'], zip(employee['name'], employee['salary'], employee['managerId'])))
    return pd.DataFrame({'Employee': [v[0] for k, v in dic.items() if v[2] in dic and v[1] > dic[v[2]][1]]})


http://www.kler.cn/a/145735.html

相关文章:

  • 特征选择(机器学习)
  • 国产编辑器EverEdit - 快捷目录
  • Linux内核编程(二十一)USB驱动开发-键盘驱动
  • 数据恢复常见故障(四)关键信号的耦合电容撞件后导致SATA前端通信异常
  • 深度学习python基础(第三节) 函数、列表
  • springboot基于安卓的智启教育服务平台app
  • NX二次开发UF_CURVE_ask_wrap_curve_parents 函数介绍
  • pcie-2-rj45速度优化
  • 动手学深度学习(四)---多层感知机
  • 【蓝桥杯】刷题
  • 卷积神经网络经典backbone
  • 使用Selenium、Python和图鉴打码平台实现B站登录
  • 让代码变美的第三天 - 简单工厂模式
  • 27、Nuxt.js项目整合ElementUI组件库
  • 【线性代数与矩阵论】坐标变换与相似矩阵
  • HTML的学习
  • kafka的设计原理
  • FO-like Transformation
  • [ruby on rails] array、jsonb字段
  • Java 文件常用操作与流转换
  • 单细胞seurat入门—— 从原始数据到表达矩阵
  • 隐写-MISC-bugku-解题步骤
  • QXDM Filter使用指南
  • P17C++析构函数
  • java - 定时器
  • 机器学习【04重要】pycharm中关闭jupyter服务器