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

Python如何读取CSV文件按ID分组统计A列的唯一值数量

解决方法

你现有代码仅采集了ID列数据,未关联存储每个ID对应的A列取值,因此无法完成A列的唯一值统计。你可以通过「字典+集合」的结构实现需求,字典的key为ID值,value为对应ID下所有A列值的集合(集合会自动去重),最终统计每个集合的长度即可得到目标结果。

修改后的可运行代码如下:

import csv

# 用with上下文管理器自动处理文件关闭,避免资源泄漏
with open('test.csv', newline='') as f:
    # 指定空格为分隔符,匹配你提供的CSV格式
    reader = csv.reader(f, delimiter=' ')
    next(reader) # 跳过表头行
    # 初始化存储结构:key=ID,value=A列值的集合
    id_a_map = {}
    for line in reader:
        if not line: # 跳过空行
            continue
        id_val = line[0]
        a_val = line[1]
        # ID首次出现时初始化对应空集合
        if id_val not in id_a_map:
            id_a_map[id_val] = set()
        # 把A列值加入集合,自动去重
        id_a_map[id_val].add(a_val)

# 按ID升序输出结果
print("ID Unique_Count_A_by_ID")
for id_val in sorted(id_a_map.keys(), key=lambda x:int(x)):
    print(f"{id_val} {len(id_a_map[id_val])}")

运行上述代码即可得到你期望的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:48:05