जवाबों:
ठीक है, यदि आप डेटा को एक सूची के रूप में पढ़ रहे हैं, तो बस np.array(map(float, list_of_strings))
(या समकक्ष रूप से, सूची समझ का उपयोग करें)। (पायथन 3 में, यदि आप इसका उपयोग करते हैं , तो आपको रिटर्न वैल्यू list
पर कॉल map
करना होगा map
, क्योंकि map
अब एक पुनरावृत्त रिटर्न देता है।)
हालाँकि, अगर यह पहले से ही एक सुस्वाद सरणी है, तो एक बेहतर तरीका है। का उपयोग करें astype()
।
import numpy as np
x = np.array(['1.1', '2.2', '3.3'])
y = x.astype(np.float)
list
। Numpy सरणियों को जानबूझकर समरूप रूप से टाइप किया जाता है। यदि आप वास्तव में चाहते हैं, तो आप एक ऑब्जेक्ट ऐरे (जैसे np.array(['apple', 1.2, 1, {'b'=None, 'c'=object()}], dtype=object)
) का उपयोग कर सकते हैं । हालाँकि, किसी सूची का उपयोग करने पर ऑब्जेक्ट सरणियों का कोई महत्वपूर्ण लाभ नहीं है।
आप इसका भी उपयोग कर सकते हैं
import numpy as np
x=np.array(['1.1', '2.2', '3.3'])
x=np.asfarray(x,float)
एक और विकल्प numpy.asarray हो सकता है :
import numpy as np
a = ["1.1", "2.2", "3.2"]
b = np.asarray(a, dtype=np.float64, order='C')
अजगर 2 * के लिए:
print a, type(a), type(a[0])
print b, type(b), type(b[0])
जिसके परिणामस्वरूप:
['1.1', '2.2', '3.2'] <type 'list'> <type 'str'>
[1.1 2.2 3.2] <type 'numpy.ndarray'> <type 'numpy.float64'>
यदि आपके पास एक स्ट्रिंग है (या बनाएं), तो आप np.fromstring का उपयोग कर सकते हैं :
import numpy as np
x = ["1.1", "2.2", "3.2"]
x = ','.join(x)
x = np.fromstring( x, dtype=np.float, sep=',' )
ध्यान दें, x = ','.join(x)
x सरणी को स्ट्रिंग में बदल देता है '1.1, 2.2, 3.2'
। यदि आप txt फ़ाइल से एक पंक्ति पढ़ते हैं, तो प्रत्येक पंक्ति पहले से ही एक स्ट्रिंग होगी।