读入数据文档Statistic进行统计分析,年龄(5岁一档)进行统计,并打印出每个年龄段的人数及数据平均年龄;分别分析男性、女性数据,身高体重(身高区间为10,体重区间为5)二维分布情况,并将男性、女性分析结果分别写去两个文档中。
这个问题的思路是怎么样的
读入数据文档Statistic进行统计分析
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 技术专家团-辉煌仪奇 2021-11-29 15:41关注
重复代码很多,没有用太复杂的函数和方法,希望你能看懂.有疑问继续交流.有帮助请采纳一下,谢谢
import math age = {} nanheight = {} nvheight = {} nanweight = {} nvweight = {} with open('Statistic', 'r', encoding='utf8') as f: # 忽略表头 f.readline() # 读取第二行有效数据 a = f.readline().replace('\n', '') while a: # 处理数据转换为元组 a = eval(a.replace(' ', ',')) # print(a) # 获取年龄段上下线 up = math.ceil(a[0] / 5) * 5 low = (math.ceil(a[0] / 5) - 1) * 5 # 处理年龄数据 key = f"{low}-{up}" if age.get(key): age[key][0] += 1 age[key][1] += a[0] else: age[key] = [1, a[0]] # 处理男女升高体重数据 0女1男 if a[1] == 1: # 获取身高段上下线 up = math.ceil(a[2] / 10) * 10 low = (math.ceil(a[2] / 10) - 1) * 10 key = f"{low}-{up}" if nvheight.get(key): nvheight[key] += 1 else: nvheight[key] = 1 # 获取体重段上下线 up = math.ceil(a[3] / 5) * 5 low = (math.ceil(a[3] / 5) - 1) * 5 key = f"{low}-{up}" if nanweight.get(key): nanweight[key] += 1 else: nanweight[key] = 1 else: # 获取身高段上下线 up = math.ceil(a[2] / 10) * 10 low = (math.ceil(a[2] / 10) - 1) * 10 key = f"{low}-{up}" if nanheight.get(key): nanheight[key] += 1 else: nanheight[key] = 1 # 获取体重段上下线 up = math.ceil(a[3] / 5) * 5 low = (math.ceil(a[3] / 5) - 1) * 5 key = f"{low}-{up}" if nvweight.get(key): nvweight[key] += 1 else: nvweight[key] = 1 # 读取处理数据替换回车 a = f.readline().replace('\n', '') for k,v in age.items(): print(k,v[0],v[1]/v[0]) with open('nan.txt','w+',encoding='utf8') as f: f.write("身高\n") for k,v in nanheight.items(): f.write(f"{k}:{v}\n") f.write("体重\n") for k,v in nanweight.items(): f.write(f"{k}:{v}\n") with open('nv.txt','w+',encoding='utf8') as f: f.write("身高\n") for k,v in nvheight.items(): f.write(f"{k}:{v}\n") f.write("体重\n") for k,v in nvweight.items(): f.write(f"{k}:{v}\n")
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?