作者abc95007 (别理我)
看板Python
标题[问题] numpy 区域合并?
时间Wed Dec 27 23:54:01 2017
假设有个矩阵
[ 1, 2, 3, 4, 5, 6]
[ 4, 5, 6, 7, 8, 9]
[ 1, 2, 3, 4, 5, 6]
[ 4, 5, 6, 7, 8, 9]
想要区域性2x2平均回填回去
[3, 3, 5, 5, 7, 7]
[3, 3, 5, 5, 7, 7]
[3, 3, 5, 5, 7, 7]
[3, 3, 5, 5, 7, 7]
或是变成
[3, 5, 7]
[3, 5, 7]
我只想到用回圈解决
感觉没发挥到 numpy 的威力
是否有用聪明的用法
谢谢!
import numpy as np
matrix1 = np.arange(0,200,1)[np.newaxis,:]
matrix1 = np.reshape(matrix1,(20,10))
matrix2 = np.zeros((20,10))
for i in range(0,20,2):
for j in range(0,10,2):
print(matrix1[i, j])
temp = [matrix1[i,j],matrix1[i+1,j],matrix1[i,j+1],matrix1[i+1,j+1]]
average = sum(temp)/len(temp)
matrix2[i, j] = average
matrix2[i+1, j] = average
matrix2[i, j+1] = average
matrix2[i+1, j+1] = average
print(matrix2)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.45.94.219
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1514390044.A.C6C.html
1F:推 KyotoAnime: 这不就是convolution吗 12/28 00:13
2F:推 Blankfein: 就是 12/28 05:45
3F:→ Blankfein: 直接看tensorflow怎麽做的不是比来板上问快吗XD 12/28 05:46
4F:推 Blankfein: tf.nn.Convolution, 找method pool, pooling_type=“AV 12/28 05:50
5F:→ Blankfein: G” 12/28 05:50
6F:推 CaptainH: 就做个convolution也要TF? 12/28 12:40
8F:→ elements: p.mean 12/28 14:02
9F:→ abc95007: 感谢楼上提供 这比较简单XD 12/28 16:34