ฉันมีอาร์เรย์จำนวนมากที่ต้องจัดการเพื่อให้แต่ละองค์ประกอบเปลี่ยนเป็น 1 หรือ 0 หากตรงตามเงื่อนไข (จะใช้เป็นพิกเซลมาสก์ในภายหลัง) อาร์เรย์มีองค์ประกอบประมาณ 8 ล้านองค์ประกอบและวิธีการปัจจุบันของฉันใช้เวลานานเกินไปสำหรับท่อลดขนาด:
for (y,x), value in numpy.ndenumerate(mask_data):
if mask_data[y,x]<3: #Good Pixel
mask_data[y,x]=1
elif mask_data[y,x]>3: #Bad Pixel
mask_data[y,x]=0
มีฟังก์ชัน numpy ที่จะเร่งความเร็วนี้หรือไม่?
mask_data[y,x]==3
?