【发布时间】:2020-06-19 00:59:44
【问题描述】:
我有 1000 个文件,每个文件有 6 列 1000 分的信息。我想在 1000 个时间步中为每个点计算第 6 列的平均值。我的意思是对于每个点,我希望平均有 1000 个时间步,然后保存在一个文本文件中。我写的代码在理解过程中存在问题。它可以计算每个点的平均值,但最后它给了我一个数字。
import os
import numpy as np
l = [f for f in sorted(os.listdir('.')) if f.startswith('config')]
maxnum = np.max([int(os.path.splitext(f)[0].split('_')[1]) for f in l])
l = ['configuration_%d.out' % i for i in range(maxnum)]
for i, d in enumerate(l):
a = np.loadtxt(d).T
num = os.path.splitext(d)[0]
#j = np.zeros(1001)
x = np.mean(a[5])
#y = np.mean(a[4])
np.savetxt("foo.txt",x)
如果您能帮我一个忙,我将不胜感激。谢谢大家
【问题讨论】:
-
我假设你说的每个点都相当于每个文件。如果是 csv 文件,我会首先使用 pandas。
-
每个文件有 1000 个点,每个点有 6 列。我在这里附上了其中一个link。我有这个文件的 1000 个数字,我想获得第 6 列的每个点的平均值。
-
您希望索引 = 5 的列包含 6 列的平均值,对吗? 0.00166785 是 '0.85809016 -1.88551593 0.00000000 -0.62240386 0.00077418 0.00166785' 的平均值 - 这是您的第一行数据。