You need to enable JavaScript to run this app. Pandas统计列值在另一列中出现次数的方法(等效Excel COUNTIF)
优惠活动
大模型
产品
解决方案
定价
更多

Pandas统计列值在另一列中出现次数的方法(等效Excel COUNTIF)

Pandas实现Excel COUNTIF功能统计列值出现次数

现有如下结构的Pandas DataFrame:

import pandas as pd
simple = pd.DataFrame([
    (80,100 ),
    (100,90 ),
    (80, 90 ),
], columns=['content_x', 'content_y'])

原始数据结构:

content_xcontent_y
080100
110090
28090

需求为统计content_x列每个取值在content_y列中的总出现次数,功能等效Excel的COUNTIF函数,可通过以下两种方案实现:


方案1:value_counts + map(大数据量下性能更优)

先统计content_y列所有值的出现频次,再将content_x的每个值映射到对应频次,content_y中不存在的取值默认填充0:

# 统计content_y各值出现次数
y_count = simple['content_y'].value_counts()
# 映射生成结果列
simple['countif_result'] = simple['content_x'].map(y_count).fillna(0).astype('int')

方案2:apply逐行判断(写法更直观,适合小数据量)

直接对每个content_x取值,遍历content_y统计匹配次数:

simple['countif_result'] = simple['content_x'].apply(lambda x: (simple['content_y'] == x).sum())

最终输出效果:

content_xcontent_ycountif_result
0801000
1100901
280900

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 05:27:03