How to convert
["1.1", "2.2", "3.2"]
to
[1.1, 2.2, 3.2]
in NumPy?
How to convert
["1.1", "2.2", "3.2"]
to
[1.1, 2.2, 3.2]
in NumPy?
Another option might be numpy.asarray:
import numpy as np
a = ["1.1", "2.2", "3.2"]
b = np.asarray(a, dtype=float)
print(a, type(a), type(a[0]))
print(b, type(b), type(b[0]))
resulting in:
['1.1', '2.2', '3.2'] <class 'list'> <class 'str'>
[1.1 2.2 3.2] <class 'numpy.ndarray'> <class 'numpy.float64'>
If you have (or create) a single string, you can use np.fromstring:
import numpy as np
x = ["1.1", "2.2", "3.2"]
x = ','.join(x)
x = np.fromstring( x, dtype=np.float, sep=',' )
Note, x = ','.join(x) transforms the x array to string '1.1, 2.2, 3.2'. If you read a line from a txt file, each line will be already a string.
You can use np.array() with dtype = float:
import numpy as np
x = ["1.1", "2.2", "3.2"]
y = np.array(x,dtype=float)
Output:
array([1.1, 2.2, 3.2])