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

如何用Python Pandas提取情感评分各列的前4大值?

提取DataFrame各列独立的前N大值解决方案

嘿,我明白你的需求啦——你想要分别取出scat里每一列的前4大值,而不是只针对某一列取对应的整行数据对吧?

你之前用scat.nlargest(4, 'sentiment_pos')只能拿到sentiment_pos列前4大值对应的完整行,但要实现每列单独提取前N大值,可以用pandas的apply方法结合nlargest来完成,代码非常简洁:

# 对每一列单独提取前4大值,保留原索引
result = scat.apply(lambda col: col.nlargest(4))
print(result)

针对你给出的示例数据,运行这段代码后会得到:

sentiment_pos  sentiment_negative
0.451          0.300
0.286          0.100
0.151          0.000
0.143          0.000

额外优化(可选)

如果希望结果的索引重置为从0开始的连续序号,让格式更整洁,可以在nlargest后加上reset_index(drop=True):

result = scat.apply(lambda col: col.nlargest(4).reset_index(drop=True))

这样输出的结果索引会变成0-3,每列的前4大值按从大到小排列,看起来更规整~

内容的提问来源于stack exchange,提问作者Aziz Bokhari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:26:58