这个df数据怎么才能获取到最新的调薪时间,就是薪资最高且时间最早?

大家好,我是皮皮。

一、前言

前几天在Python最强王者交流群【群除我佬】问了一个Pandas处理的问题,这里拿出来给大家分享下。

image.png

看上去不太好理解,其实说白了,就是在工资最高里,再找时间最早的。换句话说就是,这三个人,每个人找工资最高,然后在这个范围里找时间最早 就是他的调薪时间。

二、实现过程

这里一共有两个方法,当然应该还有更多,一起来看看吧。【隔壁山楂】给了一个代码,如下所示:

df.sort_values(['姓名', '工资', '月份'], ascending=[True, False, True]).groupby(['姓名']).head(1)

image.png

简直太秀了,顺利地解决了粉丝的问题。

第二个方法是【༺࿈黑科技·鼓包࿈༻】提供的,代码如下:df.iloc[df.groupby(['姓名']).apply(lambda x: x['工资'].idxmax())]

image.png

思路还是不错的,看上去也有点难以理解。美中不足的是这个代码用在粉丝的当前数据上,是不能生效的,用在其他规整的数据上是可以奏效的。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Pandas处理数据的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【群除我佬】提问,感谢【隔壁山楂】、【吴超建】、【郑煜哲·Xiaopang】、【༺࿈黑科技·鼓包࿈༻】给出的思路和代码解析,感谢【冯诚】、【eric】等人参与学习交流。

posted @ 2023-03-03 14:38  dcpeng  阅读(16)  评论(0编辑  收藏  举报