如何统计表格列中唯一值的重复次数并在对应列展示结果
需求对应示例结构
| 重复次数统计 - A列 | 待统计重复次数的值 - B列 |
|---|---|
| x | ac9987677768776 |
核心需求:统计「待统计重复次数的值 - B列」中每个唯一值在整列的出现次数,将统计结果替换A列对应位置的x展示。
不同场景下的实现方法
1. Excel/WPS/在线表格类工具
- 假设表头在第1行,数据从第2行开始,点击A2单元格输入以下公式:
=COUNTIF($B:$B,B2) - 按回车得到第一行的统计结果后,选中A2单元格,鼠标移动到单元格右下角,等光标变成黑色实心十字后下拉填充到所有数据行,即可批量得到所有行的统计值。
注意:公式中
$B:$B的美元符号作用是锁定统计范围为整个B列,下拉填充时不会出现统计范围偏移,不要漏写。如果数据量极大,可以把范围改成你实际的数据区间比如$B$2:$B$2000,提升计算速度。
2. Python Pandas 批量处理表格文件
如果需要用代码批量处理大量表格数据,直接用分组计数的逻辑实现即可,示例代码:
import pandas as pd # 替换成你自己的文件读取逻辑,支持读excel、csv等格式 df = pd.read_excel("你的原始数据文件.xlsx") # 按B列分组统计次数,赋值到A列 df["重复次数统计 - A列"] = df.groupby("待统计重复次数的值 - B列")["待统计重复次数的值 - B列"].transform("count") # 导出处理完成的结果 df.to_excel("重复次数统计结果.xlsx", index=False)
3. SQL 查询场景
如果数据存在数据库中,直接用窗口函数统计即可,示例语句:
SELECT COUNT(col_b) OVER (PARTITION BY col_b) AS `重复次数统计 - A列`, col_b AS `待统计重复次数的值 - B列` FROM 你的目标表名;
内容的提问来源于stack exchange,提问作者BottleOfCode
相关产品推荐
相关产品推荐

