首页 > 其他分享 >176. 第二高的薪水

176. 第二高的薪水

时间:2023-08-12 21:14:55浏览次数:40  
标签:salary 薪水 第二 +---------------------+ DataFrame SecondHighestSalary pd employee 1

176. 第二高的薪水

2023年8月12日19:03:40

176. 第二高的薪水

中等

SQL Schema


Pandas Schema

Employee 表:

+-------------+------+
| Column Name | Type |
+-------------+------+
| id          | int  |
| salary      | int  |
+-------------+------+
在 SQL 中,id 是这个表的主键。
表的每一行包含员工的工资信息。

查询并返回 Employee 表中第二高的薪水 。如果不存在第二高的薪水,查询应该返回 null(Pandas 则返回 None)

查询结果如下例所示。

示例 1:

输入:
Employee 表:
+----+--------+
| id | salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+
输出:
+---------------------+
| SecondHighestSalary |
+---------------------+
| 200                 |
+---------------------+

示例 2:

输入:
Employee 表:
+----+--------+
| id | salary |
+----+--------+
| 1  | 100    |
+----+--------+
输出:
+---------------------+
| SecondHighestSalary |
+---------------------+
| null                |
+---------------------+

这错在哪里了
奇怪的错误

import pandas as pd

def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame:
  employee['SecondHighestSalary'] = employee.drop_duplicates(subset=['salary']).sort_values(by="salary",ascending=False)[["salary"]]
  if(len(employee)>=2):
    return employee[['SecondHighestSalary']].iloc[1:2,[0]]
  else:
    return pd.DataFrame({"SecondHighestSalary":['null']})

我的错

import pandas as pd

def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame:
	employee['SecondHighestSalary'] = employee.drop_duplicates(subset=['salary']).sort_values(by="salary",ascending=False)[["salary"]]
  	if(len(employee)>=2):
    return employee[['SecondHighestSalary']].iloc[1:2,[0]]
  else:
    return pd.DataFrame({"SecondHighestSalary":[np.NaN]})

答案

import pandas as pd

def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame:
  	employee['SecondHighestSalary'] = employee.drop_duplicates(subset=['salary'])[["salary"]]

  	if(len(employee)>=2):
    	return employee[['SecondHighestSalary']].sort_values(by="SecondHighestSalary",ascending=False).iloc[1:2,[0]]
  	else:
    	return pd.DataFrame({"SecondHighestSalary":[np.NaN]})

标签:salary,薪水,第二,+---------------------+,DataFrame,SecondHighestSalary,pd,employee,1
From: https://www.cnblogs.com/lmq886/p/17625497.html

相关文章

  • 177. 第N高的薪水
    177.第N高的薪水2023年8月12日20:32:24177.第N高的薪水中等SQLSchema表:Employee+-------------+------+|ColumnName|Type|+-------------+------+|id|int||salary|int|+-------------+------+在SQL中,id是该表的主键。该表的每......
  • 我的狐仙老婆——游魂 -Kiss on my Deity-汉化第二版
    第二版说明:感谢八雲 瑠璃桜找出第一版近300处文字问题 应该来说游魂当时决策有问题造成文字没有完全过一遍。后来的C3这些我都保证N1 汉化全部过一遍,尽自己可能保证无错。。。 第二版仅发布简体版,请保证对游戏有爱再下载吧因为很多人反映第一版也足够好了。。。。。我只......
  • ef core的FirstOrDefault()方法取的是第二个元素bug,原因未明
    如图所示:location=locationList.OrderBy(x=>x.Piler).FirstOrDefault();//取到了第二条记录location=locationList.OrderBy(x=>x.Piler).ToList().FirstOrDefault();//取到了第一条记录延迟加载导致的?不应该,我使用sql语句到数据库查询,没问题,这个问题触发的条件没搞明......
  • 【Excel第二讲】单元格格式设置
     数字格式学习表汇总 ......
  • Datawhale团队第二期录取名单!
     Datawhale团队 公示:Datawhale组织成员Datawhale已经成立一年半了,从一开始的12个人,学习互助,到提议建立开源组织,做更多开源的事情,帮助更多学习者,也促进我们更好地成长。于是有了我们的愿景:“forthelearner,和学习者一起成长”,希望成为国内对学习者最有价值的开源组织,也欢迎更多志......
  • 2023中国(合肥)场景创新峰会成功举办,全息网御被纳入《合肥市第二批场景能力清单》
    场景作为重要的城市资源,在驱动科技创新、产业发展、城市治理方面发挥着重要作用。近年来,为促进数字技术与实体经济深度融合,加速前沿科技转化落地、吸引全球创新资源集聚,合肥市聚焦“双找”:为产品找场景,为场景找产品,推进全领域、全市域、全流程场景应用创新工作,打造“全域场景应用创......
  • 从浅入深了解.NET Core MVC 2.x全面教程【第二章】
    章节第一章:https://blog.51cto.com/kimiliucn/6996292第二章:https://blog.51cto.com/kimiliucn/7020412二、Logging1.诊断中间件命名空间:Microsoft.AspNetCore.Diagnostics报告信息并处理异常2.诊断中间件UseDeveloperExceptionPage:开发时使用的异常页面,异常信息UseStatusCodePages......
  • 从浅入深了解.NET Core MVC 2.x全面教程【第二章】
    二、Logging1.诊断中间件命名空间:Microsoft.AspNetCore.Diagnostics报告信息并处理异常2.诊断中间件UseDeveloperExceptionPage:开发时使用的异常页面,异常信息UseStatusCodePages:返回状态码:400-600UserExceptionHandler:指定异常处理器UseWelcome:当网站还在建设中3.A......
  • python实现创建一个银行类,这个类实现了两个方法,第一个方法可以将用户信息写入到文件中
    classbank:defuser_info(self):a=input('请输入用户信息:')#不写encoding='utf-8'中文会乱码withopen('info.txt','w',encoding='utf-8')asf:f.write(a)defget_info(se......
  • 遇到问题--python--爬虫--使用代理ip第二次获取代理ip失败
    情况获取代理ip的代码defferch_proxy_ips():try:api="http://dynamic.goubanjia.com/dynamic/get/12323.html?sep=3"response=urllib.request.urlopen(api,timeout=8)the_page=response.read()content=the_page.decode(&......