python处理一个求和运算 您所在的位置:网站首页 python按列求和 python处理一个求和运算

python处理一个求和运算

#python处理一个求和运算| 来源: 网络整理| 查看: 265

我现在有个txt文件如下:1 167 334555717

2 19 334555718

2 167 334555718

3 167 334555720

4 172 334555721

5 21 334555723

5 147 334555723

5 50 334555723第一列是序号,第二列是字数,第三列是ID。相同ID的序号是相同的。然后现在我需要用python进行下述处理:就是将相同id的字数相加得到一个总和sum,然后对sum进行如下的公式计算:result=字数1/sumlog(字数1/sum)+字数2/sumlog(字数2/sum)+......按这个文件举例来说,就是比如334555718的这个id的result计算如下:sum=19+167result=19/sumlog(19/sum)+167/sumlog(167/sum)33455723的这个id的result就是sum=21+147+50result=21/sumlog(21/sum)+147/sumlog(147/sum)+50/sum*log(50/sum)然后依次输出每个id的序号,id号跟result。我的代码如下:

import math f = open("F:\\net.txt") lines = f.readlines() rev_id=[] for line in lines: num = line.split()[0] zishu = line.split()[2] revid = line.split()[3] sum = zishu if revid in rev_id: sum += zishu result += zishu/sum*(math.log(zishu/sum)) rev_id.append(revid)

我的result的结果肯定不对,因为sum的值不是固定的全部总和。。请问该怎么做。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有