चेतावनी के कारण भविष्य चेतावनी होता है जब आप कुछ इस तरह क्या करता है:क्यों "numpy.asarray (...) में कोई नहीं" एक भविष्य
>>> numpy.asarray([1,2,3,None]) == None
जो वर्तमान में रिटर्न False
, लेकिन मैं समझता हूँ कि एक वापस आ जाएगी अम्पी के भविष्य के संस्करण में [False,False,False,True]
युक्त सरणी।
जैसा कि on the numpy discussion list पर चर्चा की गई है, इसके आसपास a is None
का परीक्षण करना है।
क्या मुझे confuses एक सूची की तुलना में एक 1 डी सरणी के साथ in
कीवर्ड के इस व्यवहार है:
>>> None in [1,2,3,None]
True
>>> None in numpy.asarray([1,2,3,None])
__main__:1: FutureWarning: comparison to 'None' will result in an elementwise
object comparison in the future
False
>>> 1 in numpy.asarray([1,2,3,None])
True
संपादित करें (टिप्पणी देखें) - वहाँ वास्तव में दो अलग-अलग प्रश्न हैं:
- क्यों क्या यह
FutureWarning
का कारण बनता है -None in numpy.asarray(...)
के भविष्य के व्यवहार की तुलना अब क्या हो सकती है? - से
in
के व्यवहार में अंतर क्यों; क्या मैं परीक्षण कर सकता हूं कि मेरे सरणी मेंNone
किसी सूची में परिवर्तित किए बिना याfor
लूप का उपयोग कर रहा है?
Numpy संस्करण 1.9.1, पायथन 3.4.1
आपकी सरणी में 'कोई नहीं' क्यों होगा? 'कोई नहीं' वाले उदाहरण के 'dtype' को देखें। क्या तुम यही चाहते हो? क्या आप किसी भी मौके से 'एनपीएनएन' के साथ 'कोई नहीं' भ्रमित कर रहे हैं? – hpaulj
मैं डेटा का उपयोग कर रहा हूं जिसमें 'कोई नहीं' हो सकता है। मुझे पता है कि 'कोई नहीं' 'np.nan' नहीं है। मेरी सटीक स्थिति मेरे उदाहरण की तुलना में अधिक जटिल है लेकिन यह वास्तव में प्रश्न के लिए प्रासंगिक नहीं है। 'dtype' को देखते हुए हालांकि काम करता है। धन्यवाद। संयोग से, एनपी.एएसएआरएएन ([1,2,3, एनपीएनएनएन] में 'एनपीएनएनएन' 'भी' झूठी 'वापस आ जाएगी। तो हो सकता है कि मेरा प्रश्न सामान्य रूप से 'in' और numpy arrays के बारे में होना चाहिए। – szmoore
हालांकि, यदि आप किसी मैट्रिक्स से एक टुकड़ा लेते हैं, तो 'dtype' अभी भी' ऑब्जेक्ट 'होगा, जिसमें उसमें' कोई नहीं 'है, भले ही उस टुकड़े में' कोई नहीं 'हो। – szmoore