cc9542 2022-04-07 17:02 采纳率: 96.7%
浏览 40
已结题

python 文件操作 循环 判断 数据处理

问题遇到的现象和发生背景
#data.txt文件内容
"""
id  date        city     temp   wind
0   03/01/2016   BJ      8      5
1   17/01/2016   BJ      12     2
2   31/01/2016   BJ      19     2
3   14/02/2016   BJ      -3     3
4   28/02/2016   BJ      19     2
5   13/03/2016   BJ      5      3
6   27/03/2016   SH      -4     4
7   10/04/2016   SH      19     3

8   24/04/2016   SH      20     3
9   08/05/2016   SH      17     3
10  22/05/2016   SH      4      2
11  05/06/2016   SH      -10    4
12  19/06/2016   SH      0      5
13  03/07/2016   SH      -9     5

14  17/07/2016   GZ      10     2
15  31/07/2016   GZ      -1     5
16  14/08/2016   GZ      1      5
17  28/08/2016   GZ      25     4
18  11/09/2016   SZ      20     1
19  25/09/2016   SZ      -10    4
"""
#下面是求某个城市的平均值
import re
f = open("data.txt","r")
a = []
b = []
for line in f.readlines()[1:]:
    # 去除空行,当不给split函数传递任何参数时,分隔符sep会采用任意形式的空白字符:空格、tab、换行、回车
    if len(line.split()) == 0:
        continue
    j = re.split(r"\s+", line.rstrip())
    if(j[2] == 'SH'):
        a.append(int(j[3]))
        b.append(int(j[4]))
print("\nHS temp平均值为{} wind平均值为{}".format(sum(a)/len(a),sum(b)/len(b)))
f.close()

#问题 怎么把上面的代码改成求所有城市的平均值?

img


这个是求单个城市的平均值的结果

#问题 怎么把上面的代码改成求所有城市的平均值?

我想要达到的结果

img

  • 写回答

1条回答 默认 最新

  • hellobigorange 人工智能领域新星创作者 2022-04-07 17:18
    关注
    
    import re
    
    f = open("data.txt", "r")
    d = {}
    for line in f.readlines()[1:]:
        # 去除空行,当不给split函数传递任何参数时,分隔符sep会采用任意形式的空白字符:空格、tab、换行、回车
        if len(line.split()) == 0:
            continue
        j = re.split(r"\s+", line.rstrip())
        if j[2] not in d.keys():
            d[j[2]]=[[],[]]
        d[j[2]][0].append(int(j[3]))
        d[j[2]][1].append(int(j[4]))
    for idx,val in d.items():
    
        print("\n{} temp平均值为{} wind平均值为{}".format(idx,sum(val[0]) / len(val[0]), sum(val[1]) / len(val[1])))
    f.close()
    

    img


    如有帮助,希望点一下下采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月13日
  • 已采纳回答 4月7日
  • 创建了问题 4月7日

悬赏问题

  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?