को पुनर्स्थापित करने के लिए निर्दिष्ट करने की क्या आवश्यकता है numpy
सरणी के कच्चे बाइनरी प्रस्तुति को देखते हुए, सरणी को अनजाने में पुनर्स्थापित करने के लिए आवश्यक मेटाडेटा का पूरा सेट क्या है?numpy's tostring/fromstring --- मुझे
उदाहरण के लिए,
>>> np.fromstring(np.array([42]).tostring())
array([ 2.07507571e-322])
जो उम्मीद की जा करने के लिए है (एक मसा के साथ, कम से कम): यहाँ मैं fromstring
नहीं बताया है ints की उम्मीद है, इसलिए यह डिफ़ॉल्ट नाव के साथ चला जाता है।
लेकिन ऐसा लगता है कि केवल dtype=np.float64
निर्दिष्ट करना या समान हो सकता है या पर्याप्त नहीं हो सकता है। उदाहरण के लिए,
>>> a = np.array([42.])
>>> a.dtype
dtype('float64')
>>> a.dtype.byteorder
'='
जो the docs tell me का अर्थ है 'मूल आदेश'। मतलब, यह एक बड़े एंडियन और छोटी-अंत मशीनों पर अलग-अलग व्याख्या की जा रही है --- या क्या मुझे कुछ आसान याद आ रही है?
sys.byteorder फिर से बदला जा सकता है मशीन के endianness देता है। ऐसा लगता है कि आपको यह मूल्य भी सहेजना होगा। – unutbu
प्लेटफ़ॉर्म-स्वतंत्र तरीके से numpy array को सहेजने/लोड करने के लिए आप [numpy.save/.load फ़ंक्शंस] का उपयोग कर सकते हैं (http://docs.scipy.org/doc/numpy/reference/generated/numpy.load.html# numpy.load)। – jfs
@ जेएफ। सेबेस्टियन: एक सरणी के लिए, हाँ। मेरे मामले में, मेरे पास 10 से 100 हजार सरणी हैं, जिन्हें मैं एक स्क्लाइट डीबी (अन्य, गैर-सरणी सामग्री के साथ) पर डंप कर रहा हूं। इसके अलावा, मैं केवल उत्सुक हूं कि प्लेटफ़ॉर्म-स्वतंत्र होने के लिए क्या होता है :-)। –