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

如何统计pandas DataFrame每行首列值在对应行的出现次数并新增列存储

pandas 实现行首元素本行出现次数统计

场景说明

现有如下构建的DataFrame:

import pandas as pd
data = [['BAL', 'BAL', 'NO', 'DAL'], ['DAL', 'DAL', 'TEN', 'SF']]
df = pd.DataFrame(data)

需求为统计每一行首列的取值在该行内的出现次数,结果存入新增列df['Count']。

实现方案

方案1:apply逐行处理(小数据集适用,逻辑直观)

通过apply逐行遍历,统计每行首元素的出现次数:

df['Count'] = df.apply(lambda row: row.value_counts()[row.iloc[0]], axis=1)

方案2:向量化运算(大数据集适用,性能更高)

避免逐行遍历的性能损耗,通过等值比较+按行求和实现:

# 先将所有元素和对应行的首列元素比较,得到布尔矩阵,再按行统计True的数量
df['Count'] = df.eq(df.iloc[:, 0], axis=0).sum(axis=1)

运行结果

执行后得到的df输出如下:

0123Count
BALBALNODAL2
DALDALTENSF2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:42:02