मैं निम्नलिखित कोड है जो पहले एक तार्किक सूचकांक मुखौटा के साथ एक NumPy सरणी के तत्वों का चयन करता है:NumPy
import numpy as np
grid = np.random.rand(4,4)
mask = grid > 0.5
मैं करने के लिए यह एक के खिलाफ एक दूसरे बूलियन मुखौटा उपयोग करना चाहते हैं
masklength = len(grid[mask])
prob = 0.5
# generates an random array of bools
second_mask = np.random.rand(masklength) < prob
# this fails to act on original object
grid[mask][second_mask] = 100
यह काफी एक ही समस्या यह तो सवाल के रूप में सूचीबद्ध नहीं है: के साथ वस्तुओं बाहर लेने Numpy array, how to select indices satisfying multiple conditions? - के रूप में मैं यादृच्छिक संख्या पीढ़ी का उपयोग कर रहा, मैं चाहता हूँ एक पूर्ण मुखौटा उत्पन्न करने के लिए, केवल चयनित तत्वों के लिए पहला मुखौटा
बिल्कुल सही, जो मैं खोज रहा था। – Hemmer
क्या आपके द्वारा पोस्ट किए गए स्निपेट में शामिल सरणी की कोई प्रतिलिपि भी है? – Hemmer
@ हेमर: 'np.where' और 'a [second_mask]' द्वारा बनाए गए नए सरणी हैं। उन सरणी का आकार 'मास्क' और 'second_mask' में ट्रू तत्वों की संख्या पर निर्भर करता है और 'ग्रिड' के आकार से स्वतंत्र होता है। – NPE