我的代码如下:
for line in fh:
if not line.startswith("X-DSPAM-Confidence:"):
continue
line = line.strip()
line = line[20:]
line.split() # I've got problem
我收到一堆行,line[20:]
打印了大量的浮点数,如
0.7565
0.7626
0.7556
0.7002
0.7615
0.7601
0.7605
0.6959
0.7606...and so on
我想计算这些线并从每条线中提取浮点值并计算这些值的平均值并产生输出,如下所示。
如何将此字符串添加到一个列表中,并获得总和和平均值?
答案 0 :(得分:0)
使用line.split(" ")
将根据空格分割线条,并创建一个包含浮点的列表(但这些将作为字符串处理)。
基本上你可以做类似以下的事情
[for float(x) in line.split(" ")]
这会将列表中每个条目的类型更改为float。
接下来,您可以使用以下操作来获得平均值和总和:
平均值
import numpy
numpy.mean([for float(x) in line.split(" ")])
<强>总和强>
sum([for float(x) in line.split(" ")])
这应该提供如何处理问题的基本概念。
编辑:看来你更新了你的问题,而不是一行包含多个数字,看起来现在每行都包含一个浮点数,这是正确的吗?如果是这种情况,您只需阅读每一行并将其添加到列表中。然后,您可以使用我之前解释过的相同方法。