大家好,我是皮皮。
一、前言
前几天在Python最强王者交流群【群除我佬】问了一个Pandas
处理的问题,这里拿出来给大家分享下。
看上去不太好理解,其实说白了,就是在工资最高里,再找时间最早的。换句话说就是,这三个人,每个人找工资最高,然后在这个范围里找时间最早 就是他的调薪时间。
二、实现过程
这里一共有两个方法,当然应该还有更多,一起来看看吧。【隔壁😼山楂】给了一个代码,如下所示:
df.sort_values(['姓名', '工资', '月份'], ascending=[True, False, True]).groupby(['姓名']).head(1)
简直太秀了,顺利地解决了粉丝的问题。
第二个方法是【༺࿈黑科技·鼓包࿈༻】提供的,代码如下:df.iloc[df.groupby(['姓名']).apply(lambda x: x['工资'].idxmax())]
思路还是不错的,看上去也有点难以理解。美中不足的是这个代码用在粉丝的当前数据上,是不能生效的,用在其他规整的数据上是可以奏效的。
三、总结
大家好,我是皮皮。这篇文章主要盘点了一个Pandas
处理数据的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【群除我佬】提问,感谢【隔壁😼山楂】、【吴超建】、【郑煜哲·Xiaopang】、【༺࿈黑科技·鼓包࿈༻】给出的思路和代码解析,感谢【冯诚】、【eric】等人参与学习交流。