Tôi có một mảng NumPy đa chiều mà các yếu tố hoặc là Đúng hay Sai giá trị:Kiểm tra xem tất cả các yếu tố này là True trong trượt cửa sổ qua một mảng 2D - Python
import numpy as np
#just making a toy array grid to show what I want to do
grid = np.ones((4,4),dtype = 'bool')
grid[0,0]=False
grid[-1,-1]=False
#now grid has a few false values but is a 4x4 filled with mostly true values
Bây giờ tôi cần phải tạo ra một mảng M, trong đó giá trị tại mỗi địa điểm M [i, j] phụ thuộc vào lưới [i: i + 2, j: j + 2] như trong
M = np.empty((4x4)) #elements to be filled
#here is the part I want to clean up
for ii in range(4):
for jj in range(4):
#details here are unimportant. It's just that M[ii,jj] depends on
#multiple elements of grid in some way
if ii+2<=4 and jj+2<=4:
M[ii,jj] = np.all(grid[ii:ii+2,jj:jj+2]==True)
else:
M[ii,jj] = False
có một số cách để lấp đầy mảng M sử dụng các yếu tố từ lưới mà không có vòng lặp đôi?
Cảm ơn Divakar! Tôi nghĩ rằng chế độ xem cửa sổ trượt có ý nghĩa nhất đối với tôi-- cách tiếp cận đó sẽ hữu ích cho các tác vụ khác sau này trong dự án này. Tôi phải nghiên cứu thêm một chút để hiểu cách thức hoạt động của chúng – kevinkayaks
Tôi hiểu viewW (lưới, (2,2)) kéo ra khối 2x2 từ lưới. Câu hỏi đơn giản đến: Cái gì .all ((2,3)) làm gì? Tại sao (2,3)? – kevinkayaks
@kevinkayaks Đã thêm vài nhận xét về nó. – Divakar