संख्या से अधिक संख्या में लोड करने के लिए numpy loadtxt फ़ंक्शन का उपयोग कर रहा है। डेटा गोलाकार प्रतीत होता है। उदाहरण के लिए: टेक्स्ट फ़ाइल में संख्या -3.7 9 000000000005E + 01 है, लेकिन numpy संख्या -37.9 के रूप में पढ़ता है। मैंने loadtxt कॉल में dppte को np.float64 पर सेट किया है। क्या मूल डेटा फ़ाइल की सटीकता को बनाए रखने के लिए वैसे भी है?संख्या
Q
संख्या
5
A
उत्तर
5
loadtxt
संख्या को गोल नहीं कर रहा है।
In [80]: import numpy as np
In [81]: x = np.loadtxt('test.dat', dtype = np.float64)
In [82]: print(x)
-37.9
वास्तविक मूल्य np.float64 inputted मूल्य के सबसे करीब है: क्या आप देख रहे हैं जिस तरह से NumPy प्रिंट करने के लिए चुनता सरणी है।
In [83]: x
Out[83]: array(-37.9000000000005)
या, अधिक संभावना है कि उदाहरण आप एक उच्च आयामी सरणी है कि, में
In [2]: x = np.loadtxt('test.dat', dtype = np.float64)
तो x
की repr
छोटा दिखता है:
In [3]: x
Out[3]: array([-37.9, -37.9])
आप उपयोग कर सकते हैं उच्च परिशुद्धता प्राप्त करने के लिए np.set_printoptions
:
In [4]: np.get_printoptions()
Out[4]:
{'edgeitems': 3,
'infstr': 'inf',
'linewidth': 75,
'nanstr': 'nan',
'precision': 8,
'suppress': False,
'threshold': 1000}
In [5]: np.set_printoptions(precision = 17)
In [6]: x
Out[6]: array([-37.90000000000050306, -37.90000000000050306])
(धन्यवाद इस ओर इशारा करते हुए के लिए @mgilson करने के लिए।)
यह भी [ 'np.set_printoptions'] का उल्लेख शिक्षाप्रद हो सकता है (http://docs.scipy.org/doc/numpy/reference /generated/numpy.set_printoptions.html) – mgilson
उत्कृष्ट। यह रहस्य हल हो गया। Np.set_printoptions को बदलना पूर्ण संख्या प्रिंट करें। – JMD