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

Python实现得克萨斯州指定时段Top5婴儿姓名统计遇计数难题

嘿,我看你在开发德州婴儿姓名统计程序时,卡在了计数和Top5排名的环节,这就帮你搞定~

解决德州婴儿姓名Top5统计的计数问题

首先,先梳理下你的需求核心:筛选指定年份区间、指定性别的婴儿姓名,统计每个姓名的总使用次数,最终输出Top5热门姓名。你的现有代码已经完成了年份筛选的第一步,接下来我们完善计数和排序的部分:

完整代码实现

这里我假设你的file_data是每条记录为列表格式(比如从CSV读取的行数据),如果是字典格式我也会给出调整方案:

from collections import defaultdict

def count_names(file_data, begin, end, sex):
    # 初始化计数字典,自动处理新姓名的初始计数为0
    name_total_counts = defaultdict(int)
    
    # 生成目标年份的字符串列表,匹配数据中的年份格式
    target_years = [str(year) for year in range(begin, end + 1)]
    
    # 遍历所有数据记录
    for record in file_data:
        # 提取当前记录的年份、性别、姓名、计数(请根据你的实际数据结构调整下标!)
        record_year = record[5:9]
        record_sex = record[1]  # 假设性别在索引1的位置,你需要改成自己数据的对应下标
        record_name = record[3] # 假设姓名在索引3的位置
        record_count = int(record[4]) # 假设计数在索引4的位置,转成整数
        
        # 筛选符合年份和性别的记录
        if record_year in target_years and record_sex == sex:
            # 累加姓名的总计数
            name_total_counts[record_name] += record_count
    
    # 按总计数降序排序,取前5个
    sorted_top_names = sorted(
        name_total_counts.items(),
        key=lambda x: x[1],
        reverse=True
    )[:5]
    
    # 格式化结果,方便展示
    formatted_top = [
        f"第{rank+1}名:{name}(总使用次数:{count})"
        for rank, (name, count) in enumerate(sorted_top_names)
    ]
    
    return formatted_top

关键调整说明

  • 用defaultdict简化计数:相比普通字典,它不需要手动判断姓名是否已存在,直接累加即可,避免KeyError
  • 明确数据字段下标:你需要根据自己的file_data结构,调整record_sex、record_name、record_count的索引值。如果你的数据已经转成了字典(比如用csv.DictReader读取),可以把这部分改成字典键取值,比如:
    # 字典格式数据的调整示例
    record_year = str(record["Year"])
    record_sex = record["Sex"]
    record_name = record["Name"]
    record_count = int(record["Count"])
    
  • 排序取Top5:用sorted函数结合reverse=True实现降序排序,最后用切片[:5]截取前5个结果

使用示例

假设你已经读取了德州婴儿姓名的数据集,调用函数并输出结果:

# 示例:获取2010-2020年德州男婴的Top5姓名
top_boys = count_names(file_data, 2010, 2020, "M")
print("2010-2020年德州最热门的5个男婴姓名:")
for item in top_boys:
    print(item)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:18:07