#python #arrays #list #numpy
#python #массивы #Список #numpy
Вопрос:
У меня есть массив, созданный numpy, который выглядит следующим образом:
[ 54.51399994 -12.10200024 -11.88099957]
[ 56.23899841 -8.30799961
-2.03500009]
Как мне преобразовать это в список? Итак, это выглядит следующим образом:
[‘54.51399994′,’-12.10200024′,’-11.88099957′]
[‘56.23899841′,’-8.30799961′,’-2.03500009′]
Комментарии:
1. почему у вас есть цитаты во вторых? Вы хотите преобразовать число в строку?
2. Да, потому что я собираюсь записать это в текстовый файл
3. Если вы сбрасываете массив в файл, используйте np.savetxt . Вам не нужно делать это преобразование самостоятельно!
Ответ №1:
Вы могли бы использовать astype() для создания нового массива строки dtype:
import numpy as np
arr=np.array([
( 54.51399994, -12.10200024, -11.88099957),
( 56.23899841, -8.30799961, -2.03500009)])
print(arr.astype('|S10'))
дает
[['54.51399994', '-12.10200024', '-11.88099957'], ['56.23899841', '-8.30799961', '-2.03500009']]
Комментарии:
1. Когда вы печатаете массив numpy, он красиво форматирует массив без запятых. Когда вы определяете массив с
np.array
помощью, вы должны использовать запятые для разделения элементов в кортежах. Итак, да,arr.astype('|S10')
он должен работать с вашим массивом.