根据我对你问题的理解,听起来你有一些文件,你想把每一行的平均值取到第600行,然后重复多次,直到没有更多的数据为止。所以在第600行,你平均0-600行,在1200行你平均600到1200行。在
模除法是一种在每600行命中一次平均值的方法,而不必使用单独的变量来计算循环了多少行。另外,我使用Numpy Array Slicing来创建原始数据的视图,只包含数据集中的第4列。在
这个例子应该做你想做的,但是它完全没有经过测试。。。我对numpy也不是很熟悉,所以有一些更好的方法可以做到这一点,如其他答案所述:import numpy as np
#loads file and places it in array
data = np.loadtxt(‘244UTZ10htz.txt’, delimiter = ‘\t’, skiprows = 2)
shape = np.shape(data)
data_you_want = data[:,3]
daily_averages = list()
#creates array for u wind values
for i,d in enumerate(data_you_want):
if (i % 600) == 0:
avg_for_day = np.mean(data_you_want[i – 600:i])
daily_averages.append(avg_for_day)
你可以修改上面的例子,把平均数写到一个新文件中,而不是像我一样把它附加到一个列表中,或者把日均数列表写到你想要的任何文件中。在
另外,这里有一个Python解决方案,只使用CSV库。它还没有经过太多的测试,但理论上应该可以工作,而且对于刚接触Python的人来说可能相当容易理解。在
^{pr2}$
希望这有帮助!在