जवाबों:
ठीक है, यदि आप डेटा को एक सूची के रूप में पढ़ रहे हैं, तो बस 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 फ़ाइल से एक पंक्ति पढ़ते हैं, तो प्रत्येक पंक्ति पहले से ही एक स्ट्रिंग होगी।