盘点使用Pandas解决问题:对比两列数据取最大值的5个方法 您所在的位置:网站首页 dataframe取某一列的最大值 盘点使用Pandas解决问题:对比两列数据取最大值的5个方法

盘点使用Pandas解决问题:对比两列数据取最大值的5个方法

2024-07-16 08:40| 来源: 网络整理| 查看: 265

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

近寒食雨草萋萋,著麦苗风柳映堤。

大家好,我是Python进阶者。

一、前言

前几天在Python星耀交流群有个叫【iLost】的粉丝问了一个关于使用pandas解决两列数据对比的问题,这里拿出来给大家分享下,一起学习。

e40a755fadc11676aa63b7d6f820472a.png

大概意思是说在DF中有2列数据,想每行取两列数据中的最大值,形成一个新列,该怎么写?最开始【iLost】自己使用了循环的方法写出了代码,当然是可行的,但是写的就比较难受了。

e8cadee54644aa082d407a320caf5746.png 二、解决过程

这里给出5个方法,感谢大佬们的解答,一起来看看吧!

方法一:【月神】解答

其实这个题目的逻辑和思路也相对简单,但是对于Pandas不熟悉的小伙伴,接受起来就有点难了。

df['max1'] = df[['cell1', 'cell2']].max(axis=1) df fbdb27c17951583c4d7a3b705fdd7a46.png 方法二:【广深-运营-n】解答

这个方法是才哥群里【广深-运营-n】大佬给的方法。

4b2d740857344297e0244a0ae8ebb75e.png

代码如下,亲测可行。

df['max2'] = df.loc[:,['cell1','cell2']].max(axis=1) df f2db98dd3c3191cd866469e5b47e2da2.png 方法三:【月神】解答

apply方法是最开始想到的方法,但是不知道怎么写,还好有【月神】,这里使用apply方法来解决,代码如下

df['max3'] = df[['cell1', 'cell2']].apply(max, axis=1) df 7b69bd9bb3bf5f3430c966674f9ea8ec.png 方法四:【常州-销售-MT】解答

这个方法也是才哥群里的一个大佬给的思路。

5c0853356080c7c9ad3c254c692de996.png

亲测可行,代码如下:

df = df.assign(new=df[['cell1', 'cell2']].max(1)) ecdf65aa6a0c9c6ab718f3475a8ec486.png

这里的用法需要注意下,不然容易翻车:

c4f643806c4b435fac1f0385cffded19.png细节拉满:

5abf85b0555b6303b822680b1afaff76.png 方法五:【上海-数分-长城】解答

这个方法也是才哥群里的一个大佬给的思路。

7bbaa2dd99244de0eb911e175aac46f2.png

使用numpy结合pandas,代码如下:

df['max4'] = np.where(df['cell1'] > df['cell2'],df['cell1'], df['cell2']) df 89cd32788401c1dae8c2a5641148e127.png

真是太秀了。

三、总结

大家好,我是Python进阶者。这篇文章基于粉丝提问,针对df中,想在每行取两列数据中的最大值,作为新的一列问题,给出了具体说明和演示,一共5个方法,顺利地帮助粉丝解决了问题,也帮助大家玩转Pandas,学习Python相关知识。

最后感谢粉丝【iLost】提问,感谢【月神】、【dcpeng】、【北京-算法-浩浩】、【上海-数分-长城】、【广深-运营-n】、【常州-销售-MT】大佬们给出的示例和代码支持,感谢【冯诚】、【凌云剑圣】、【PI】、【艾希·觉罗】、【猎影】等人参与学习交流。

b035248ccec822c0a74207bd30ff8b86.png

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

ac79a6547395f591fd539d0c62b9e981.png

------------------- End -------------------

往期精彩文章推荐:

群友教你使用Python编程来实现“猜数字”游戏

盘点一道使用Python编程来实现高斯计算的基础算术题目

盘点一道Python基础实现代数运算的基础题目

Python类变量和实例变量,傻傻分不清楚

5056565a483a6a1e3a650603ccb8767f.png

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群】

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有