Python: разделить массив numpy

#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') он должен работать с вашим массивом.