Pandas 如何获取 DataFrame 中比当前行值大的数据个数?

pandas 如何获取 dataframe 中比当前行值大的数据个数?

pandas 获取比当前行值大的数据个数

本问题要求我们从给定 dataframe 中的 col3 列中,查找每个当前行值向上寻找到的第一个比当前值大的值的索引位置。

一个高效的解决方案是利用 numpy 的矩阵运算。具体步骤如下:

定义一个 lambda 函数 count_larger,用于计算一个数组中比其最后一个元素大的元素的个数。使用列表解析生成 col4 列的值,其中 i 标识当前行索引。使用 lambda 函数 count_larger,对 col3 列中从当前行到开头(含开头)的子数组进行计数。

import numpy as npdf['col4'] = [count_larger(df[:i + 1]['col3'].values) for i in range(len(df))]

输出:

    col1  col2  col3   col40    5.5   2.5  10.0    01    2.0   4.5   1.0     02    2.5   5.2   8.0     13    4.5   5.8   4.8      04    4.6   6.3   9.6      35    4.1   6.4   9.0      06    5.1   2.3   3.0      07    5.1   2.3  11.1      78    5.1   2.3  10.0      09    5.1   2.3  11.1      110   5.1   2.3  20.0      1011   5.1   2.3  31.0       1112   5.1   2.3   5.0       0

以上就是Pandas 如何获取 DataFrame 中比当前行值大的数据个数?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1352994.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 17:18:52
下一篇 2025年12月10日 11:32:37

相关推荐

发表回复

登录后才能评论
关注微信