आपको शायद ही कभी सुपीरियर में वेक्टर ऑपरेशन के लिए छोरों की आवश्यकता होती है। आप एक असिंचित सरणी बना सकते हैं और एक ही बार में सभी प्रविष्टियों को असाइन कर सकते हैं:
>>> a = numpy.empty((3,3,))
>>> a[:] = numpy.nan
>>> a
array([[ NaN, NaN, NaN],
[ NaN, NaN, NaN],
[ NaN, NaN, NaN]])
मैंने a[:] = numpy.nanयहां विकल्प के a.fill(numpy.nan)रूप में समय पर और ब्लेंक द्वारा पोस्ट किया है:
$ python -mtimeit "import numpy as np; a = np.empty((100,100));" "a.fill(np.nan)"
10000 loops, best of 3: 54.3 usec per loop
$ python -mtimeit "import numpy as np; a = np.empty((100,100));" "a[:] = np.nan"
10000 loops, best of 3: 88.8 usec per loop
ndarray.fill(..)तेज विकल्प के रूप में समय के लिए वरीयता दिखाई देती है । ओटीओएच, मुझे सुपी की सुविधा कार्यान्वयन पसंद है जहां आप उस समय पूरे स्लाइस को मान असाइन कर सकते हैं, कोड का इरादा बहुत स्पष्ट है।
ध्यान दें कि ndarray.fillइसके संचालन को इन-प्लेस करता है, इसलिए numpy.empty((3,3,)).fill(numpy.nan)इसके बजाय वापस आ जाएगा None।
np.nanइंट में परिवर्तित होने पर गलत हो जाता है।