如何得到数组的平均值?

2024-09-28 21:55:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在计算最后10个元素的平均值。 首先,我要从文件中读取数据:

np.genfromtxt(filename,skip_header=6, names=True)

首先我试着用numpy.平均值函数,但我得到以下错误:

^{pr2}$

所以我决定写一个函数:

def get_mean_values( marray, nr ):
    """
    """
    # Creating an empty array
    tmp = np.delete( marray[-1:], 0, 0 )

    for key in marray.dtype.fields:
        tmp[key] = np.append( tmp[key], np.mean( marray[key][nr:] ) )


    print tmp
    return tmp

但是tmp数组总是空的。如何计算和存储最后10个元素的平均值。在

我的数据就是这样的

array([ (99.9, 9.0),
       (100.0, 9.0) ....], 
      dtype=[('Time', '<f8'), ('HorWind', '<f8')])

Tags: key函数元素np读取数据filenamemeanarray
2条回答

我不知道这是否有用,但是计算数组最后十个元素的平均值的一般函数是:

array = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

def lastten(index):
    return sum(index[-10:len(index)])/10

print lastten(array)    > 15

只要足够具体,mean函数就可以正常工作:)

import numpy

x = numpy.array([(99.9, 9.0),
       (100.0, 9.0)], 
      dtype=[('Time', '<f8'), ('HorWind', '<f8')])

print 'Time', x['Time'].mean()
print 'HorWind', x['HorWind'].mean()

输出:

^{pr2}$

相关问题 更多 >