python - 使用python计算多个文件的记录平均值

标签 python file-io

亲爱的大家,
我是Python初学者。我正在寻找在 Python 中执行以下操作的最佳方法:假设我有三个文本文件,每个文件都有 m 行和 n 列数字,名称文件 A、B 和 C。对于以下内容,内容可以是索引为 A[i][j]B[k][l] 等等。我需要计算 A[0][0]B[0][0]C[0][0] 的平均值>,并将其写入文件 D 的 D[0][0] 处。其余记录也是如此。例如,我们假设:

A:  
1 2 3   
4 5 6  
B:  
0 1 3  
2 4 5  
C:  
2 5 6  
1 1 1

因此,文件D应该是

D:  
1     2.67   4    
2.33  3.33   4  

我的实际文件当然比现在的文件大,大约有一些 Mb。我不确定最好的解决方案,如果读取按文件名索引的嵌套结构中的所有文件内容,或者尝试读取每个文件、每一行并计算平均值。阅读手册后,fileinput 模块在这种情况下没有用,因为它不会像我在这里需要的那样“并行”读取行,而是“串行”读取行。非常感谢任何指导或建议。

最佳答案

看看numpy 。它可以将三个文件读入三个数组(使用 fromfile ),计算平均值并将其导出到文本文件(使用 tofile )。

import numpy as np


a = np.fromfile('A.csv', dtype=np.int)   
b = np.fromfile('B.csv', dtype=np.int)   
c = np.fromfile('C.csv', dtype=np.int)   

d = (a + b + c) / 3.0

d.tofile('D.csv')

“一些MB”的大小应该不是问题。

关于python - 使用python计算多个文件的记录平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4159582/

相关文章:

.net - DirectoryInfo.GetDirectories() 和属性

c - 读取 '\n' 后 While 循环不会停止

java - 如何检查war文件中的文件是否存在?

python - 从 python 模块设置 sqlite I/O 优先级(加速 sqlite 提交)

python - 网页抓取 - 处理非 fatal error

python - 如何在 pytest 中进行自定义比较?

python - 将自定义公式转换为 python 函数

c - 为什么 fscanf 在没有被明确告知的情况下改变结构的值?

python - Django - 使用自己编写的验证器时出现错误的验证错误消息

javascript - axios如何获取.catch()中的状态码?