使用numpy自带方法对csv文件中的列进行求和并将求和结果写入文件
需求: 对csv中部分列进行求和,并将求和结果写入文件中
- 需导入使用的库
1 import csv 2 import numpy as np
- 定义空数组,将读取的每一行同一列写入列表中
1 with open(filepath) as csv_file: 2 row = csv.reader(csv_file, delimiter=',') 3 next(row) # 读取⾸⾏ 4 prdt_tp_list = [] # 建⽴⼀个数组来存储prdt_tp数据 5 prdt_fn_list = [] # 建⽴⼀个数组来存储prdt_fn数据 6 prdt_tn_list = [] # 建⽴⼀个数组来存储prdt_tn数据 7 prdt_fp_list = [] # 建⽴⼀个数组来存储prdt_fp数据 8 9 10 # 读取每一行的第二列数据,并将其加入到prdt_tp_sum之中 11 for r in row: 12 prdt_tp_list.append(float(r[1])) # 将字符串数据转化为浮点型加⼊到数组之中 13 prdt_fn_list.append(float(r[2])) # 将字符串数据转化为浮点型加⼊到数组之中 14 prdt_tn_list.append(float(r[3])) # 将字符串数据转化为浮点型加⼊到数组之中 15 prdt_fp_list.append(float(r[4])) # 将字符串数据转化为浮点型加⼊到数组之中
- 采用numpy自带方法对列表进行求和
1 prdt_tp_sum = np.sum(prdt_tp_list) 2 prdt_fn_sum = np.sum(prdt_fn_list) 3 prdt_tn_sum = np.sum(prdt_tn_list) 4 prdt_fp_sum = np.sum(prdt_fp_list)
- 对求和结果进行相应计算并输出百分号格式方法
1 FNR = '{:.2f}%'.format( prdt_fn_sum/(prdt_tp_sum+ prdt_fn_sum)*100)
- 将计算结果写入文件中,写入时需做转化采用numpy自带的str方法
1 with open(filepath,"a+",encoding="utf-8") as f: 2 #np.str对prdt_tp_sum为numpy.float64转化成str类型,写入文件需转化成str类型 3 f.write("single_total" + "," + np.str(prdt_tp_sum) + "," + np.str(prdt_fn_sum) + "," + 4 np.str(prdt_tn_sum) + "," + np.str(prdt_fp_sum) + "," + np.str(FNR)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现