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

如何用Python统计column A值小于column B的出现频次?

统计Column A值小于Column B值的出现频次(Python实现)

嘿,这个需求其实挺常见的,我给你分享两种最实用的实现方法,覆盖不同的数据存储场景:

方法1:用Pandas处理表格数据(最推荐)

如果你的数据是存在DataFrame里的(比如从CSV/Excel导入的结构化数据),用Pandas来处理简直事半功倍:

import pandas as pd

# 先模拟一个示例DataFrame(实际中你可以用pd.read_csv/pd.read_excel导入)
df = pd.DataFrame({
    'Column A': [1, 3, 5, 2, 4],
    'Column B': [2, 2, 6, 3, 3]
})

# 核心代码:生成布尔掩码后直接求和
count = (df['Column A'] < df['Column B']).sum()
print(f"Column A小于Column B的出现频次:{count}")
# 输出结果是3,对应第1、3、4行满足条件

原理很简单:df['Column A'] < df['Column B']会生成一个布尔类型的Series,每行对应一个True/False,而Python里True等价于1、False等价于0,用sum()就能直接统计满足条件的行数。

方法2:纯Python处理列表数据

如果你的Column A和Column B只是普通的Python列表,不用依赖Pandas也能轻松搞定:

column_a = [1, 3, 5, 2, 4]
column_b = [2, 2, 6, 3, 3]

# 用生成器表达式遍历配对元素,统计满足条件的数量
count = sum(1 for a, b in zip(column_a, column_b) if a < b)
print(f"Column A小于Column B的出现频次:{count}")

这里用zip()把两个列表的元素一一配对,然后通过生成器表达式筛选出a < b的情况,每满足一次就加1,最后用sum()汇总总数,简洁又高效。

额外小彩蛋:统计满足条件的比例

如果你还想知道满足A < B的比例,直接用统计出的频次除以总元素数就行:

# Pandas版本直接用mean()更方便
ratio = (df['Column A'] < df['Column B']).mean()
# 纯Python版本
ratio = count / len(column_a)
print(f"满足A<B的比例:{ratio:.2%}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:00:23