Как перевести все элементы массива numpy из str в float?
Дан массив:
а = [['2.51' '2.95' '1' ... '4' '2' '1']
['2.29' '3.24' '3' ... '2' '2' '0']
['1.72' '5.03' '0' ... '1' '8' '1']]
Каким способом можно получить:
а = [[2.51 2.95 1. ... 4. 2. 1.]
[2.29 3.24 3. ... 2. 2. 0.]
[1.72 5.03 0. ... 1. 8. 1.]]
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Исходная матрица:
In [99]: a
Out[99]:
array([['2.51', '2.95', '1', '4', '2', '1'],
['2.29', '3.24', '3', '2', '2', '0'],
['1.72', '5.03', '0', '1', '8', '1']], dtype='<U4')
Преобразование в тип float :
In [100]: a = a.astype("float")
результат:
In [101]: a
Out[101]:
array([[2.51, 2.95, 1. , 4. , 2. , 1. ],
[2.29, 3.24, 3. , 2. , 2. , 0. ],
[1.72, 5.03, 0. , 1. , 8. , 1. ]])
In [102]: a.dtype
Out[102]: dtype('float64')