如何转换
["1.1", "2.2", "3.2"]至
[1.1, 2.2, 3.2]在NumPy?
发布于 2010-10-07 06:04:12
如果您以列表的形式读取数据,那么只需执行np.array(map(float, list_of_strings)) (或者等效地,使用列表理解)。(在Python3中,如果使用map,则需要在map返回值上调用list,因为map现在返回一个迭代器。)
但是,如果它已经是一个numpy字符串数组,那么有一种更好的方法。使用astype()。
import numpy as np
x = np.array(['1.1', '2.2', '3.3'])
y = x.astype(np.float)发布于 2018-06-12 23:19:55
另一个选项可能是numpy.asarray
import numpy as np
a = ["1.1", "2.2", "3.2"]
b = np.asarray(a, dtype=np.float64, order='C')对于Python 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'>发布于 2017-09-17 13:06:33
你也可以使用这个
import numpy as np
x=np.array(['1.1', '2.2', '3.3'])
x=np.asfarray(x,float)https://stackoverflow.com/questions/3877209
复制相似问题