You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas如何获取DataFrame每行的第二大数值

Pandas 计算每行第二大数值的解决方案
  • 方法1:使用 apply + nlargest 实现,适合小数据量场景,逻辑直观
# 按行计算,取每行前2大的数值,再取第二个即为第二大值
second_largest = DATA.apply(lambda row: row.nlargest(2).iloc[-1], axis=1)

运行后输出结果为:

0    12
1     8
2     4
3     5
dtype: int64
  • 方法2:使用NumPy排序实现,运算效率更高,适合万行以上的大数据量DataFrame
import numpy as np
# axis=1 按行升序排序后,取每行倒数第二个元素即为第二大值
second_largest = np.sort(DATA, axis=1)[:, -2]

运行后返回的数组结果为 array([12, 8, 4, 5]),可直接转为Series使用。


内容的提问来源于stack exchange,提问作者Jacopo Centofanti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:06:10