में दशमलव संरेखण स्वरूपण यह होना चाहिए।पाइथन
यहाँ मेरी सरणी (बल्कि, प्रतिनिधि परीक्षण सरणियों पैदा करने की एक विधि) है:
>>> ri = numpy.random.randint
>>> ri2 = lambda x: ''.join(ri(0,9,x).astype('S'))
>>> a = array([float(ri2(x)+ '.' + ri2(y)) for x,y in ri(1,10,(10,2))])
>>> a
array([ 7.99914000e+01, 2.08000000e+01, 3.94000000e+02,
4.66100000e+03, 5.00000000e+00, 1.72575100e+03,
3.91500000e+02, 1.90610000e+04, 1.16247000e+04,
3.53920000e+02])
मैं कहाँ '\ n'.join स्ट्रिंग की एक सूची चाहते हैं (list_o_strings) मुद्रित होगा:
79.9914
20.8
394.0
4661.0
5.0
1725.751
391.5
19061.0
11624.7
353.92
मैं बाएं और पर स्पेस पैड करना चाहता हूं (लेकिन आवश्यक से अधिक नहीं)।
मैं दशमलव के बाद शून्य चाहता हूं यदि यह दशमलव के बाद है।
मुझे वैज्ञानिक नोटेशन नहीं चाहिए।
.. और मैं कोई महत्वपूर्ण अंक खोना नहीं चाहता हूं। (353.98000000000002 में 2 महत्वपूर्ण नहीं है)
हाँ, यह ..
अजगर 2.5 के %g, %fx.x
, आदि या तो मुझे befuddling रहे हैं अच्छा है, या यह नहीं कर सकते। मैंने अभी तक import decimal
का प्रयास नहीं किया है। मैं NumPy यह या तो करता है कि (हालांकि, array.__str__
और array.__repr__
दशमलव गठबंधन कर रहे हैं (लेकिन कभी कभी वैज्ञानिक वापसी) नहीं देख सकता।
ओह, और गति में गिना जाता है। मैं बड़ा सरणियों के साथ यहां काम कर रहा हूँ।
मेरे वर्तमान समाधान दृष्टिकोण हैं: ('।')
- str (क) और सरणी और विभाजन में प्रत्येक तत्व NumPy के कोष्ठक बंद पार्स
- str के लिए (ई) तो पैड और फिर से संगठित
- से a.astype ('एस' + str (i)) जहां मैं अधिकतम (लेन (str (ए)) है, तो पैड
ऐसा लगता है कि कुछ ऑफ-द-शेल्फ होना चाहिए समाधान वहाँ बाहर ... (लेकिन आवश्यक नहीं)
शीर्ष सुझाव जब dtype
float64 है के साथ विफल:
>>> a
array([ 5.50056103e+02, 6.77383566e+03, 6.01001513e+05,
3.55425142e+08, 7.07254875e+05, 8.83174744e+02,
8.22320510e+01, 4.25076609e+08, 6.28662635e+07,
1.56503068e+02])
>>> ut0 = re.compile(r'(\d)0+$')
>>> thelist = [ut0.sub(r'\1', "%12f" % x) for x in a]
>>> print '\n'.join(thelist)
550.056103
6773.835663
601001.513
355425141.8471
707254.875038
883.174744
82.232051
425076608.7676
62866263.55
156.503068
कृपया कोड पोस्ट करें जो काम नहीं करता है। –