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

编写Python程序处理含文本数据集并计算各国十年平均GDP

解决方案:计算各国十年平均GDP的Python程序

我来帮你写一个实用的Python程序,专门处理GDP数据集,计算每个国家十年间的平均GDP,输出格式完全匹配你想要的样式。

完整代码

def calculate_country_avg_gdp(file_path):
    # 用字典存每个国家的GDP数据列表,键是国家名,值是对应年份的GDP数值
    country_gdp_records = {}

    # 安全读取文件,自动处理资源释放
    with open(file_path, 'r', encoding='utf-8') as f:
        # 如果你的数据文件有表头,就跳过这一行;没有的话直接删掉下面这句
        next(f)
        
        for line in f:
            # 分割每行数据,处理可能的多余空格
            line_data = line.strip().split(',')
            if len(line_data) != 3:
                continue  # 跳过格式错误的无效行
            
            country, year, gdp_str = line_data
            # 尝试把GDP转成浮点数,跳过无法转换的无效数据
            try:
                gdp = float(gdp_str)
            except ValueError:
                continue
            
            # 把GDP数据添加到对应国家的列表里
            if country not in country_gdp_records:
                country_gdp_records[country] = []
            country_gdp_records[country].append(gdp)

    # 计算平均GDP并整理成目标格式
    output_parts = []
    for country, gdp_list in country_gdp_records.items():
        # 确保是完整的十年数据,如果你允许缺失年份,可去掉这个判断
        if len(gdp_list) == 10:
            avg_gdp = sum(gdp_list) / len(gdp_list)
            # 保留1位小数,和示例格式一致
            output_parts.append(f"{country}: {avg_gdp:.1f}")
    
    # 用空格连接所有结果并输出
    print(' '.join(output_parts))

# 替换成你的实际数据文件路径,比如'gdp_data.csv'
calculate_country_avg_gdp('your_gdp_file.csv')

代码细节说明

  • 数据存储逻辑:用字典country_gdp_records分类存储每个国家的GDP数据,后续计算平均值非常方便。
  • 数据清洗处理:自动跳过格式错误、GDP无法转成数字的行,避免程序崩溃,保证结果准确性。
  • 结果格式化:严格按照你给出的示例格式输出,每个国家的平均GDP保留1位小数,用空格分隔所有条目。

适配你的数据格式

如果你的数据文件是纯文本(无表头),比如每行是国家 年份 GDP(空格分隔),只需要把代码里的line_data = line.strip().split(',')改成line_data = line.strip().split()即可。

举个数据行的例子:

澳大利亚 2013 1200000000000.0
澳大利亚 2014 1250000000000.0
...(后续8年数据)

运行程序后,就能得到你想要的输出结果啦。

内容的提问来源于stack exchange,提问作者D.Ronald

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:20:34