使用numpy自带方法对csv文件中的列进行求和并将求和结果写入文件

   

    需求: 对csv中部分列进行求和,并将求和结果写入文件中

 

  1.  需导入使用的库
    1 import csv
    2 import numpy as np

     

  2.  定义空数组,将读取的每一行同一列写入列表中
    复制代码
     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]))  # 将字符串数据转化为浮点型加⼊到数组之中
    View Code
    复制代码

     

  3. 采用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)
    View Code
    复制代码

     

  4. 对求和结果进行相应计算并输出百分号格式方法
    1 FNR = '{:.2f}%'.format( prdt_fn_sum/(prdt_tp_sum+ prdt_fn_sum)*100)
    View Code

     

  5. 将计算结果写入文件中,写入时需做转化采用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)
    View Code
    复制代码

     

     

posted @   小菜鸟qing  阅读(419)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示