python求数组平均值numpy_计算numpy数组的平均值

我有一个2d numpy数组(6 x 6)元素。我想用它创建另一个二维数组,其中每个块是块大小窗口中所有元素的平均值。目前,我有福勒。代码:import os, numpy

def avg_func(data, blocksize = 2):

# Takes data, and averages all positive (only numerical) numbers in blocks

dimensions = data.shape

height = int(numpy.floor(dimensions[0]/blocksize))

width = int(numpy.floor(dimensions[1]/blocksize))

averaged = numpy.zeros((height, width))

for i in range(0, height):

print i*1.0/height

for j in range(0, width):

block = data[i*blocksize:(i+1)*blocksize,j*blocksize:(j+1)*blocksize]

if block.any():

averaged[i][j] = numpy.average(block[block>0])

return averaged

arr = numpy.random.random((6,6))

avgd = avg_func(arr, 3)

有没有办法让它更像Python?也许纽比有什么东西已经在做了?在

更新

基于M.Massias下面的soln,这里是一个用变量替换固定值的更新。不确定编码是否正确。不过,它似乎确实有效:

^{pr2}$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值