Спецификатор формата печати строки не работает для массива строк numpyPython

Программы на Python
Ответить
Anonymous
 Спецификатор формата печати строки не работает для массива строк numpy

Сообщение Anonymous »

Я пытаюсь использовать сортировку numpy для массива строк numpy. Но когда я пытаюсь распечатать их поэлементно с помощью спецификатора формата печати строки '{:s}', появляется следующая ошибка.
print("{0:s} {1:2d}".format(lth_str[j],lth_arr[j]))
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unsupported format string passed to numpy.ndarray.__format__

Я этого не понимаю. Почему это происходит и как можно обойти эту проблему? Я что-то упускаю? Возможно, несовпадение типов данных?
Ниже приведен код.
import numpy as np

arr = np.array([
[0,19,20,39],
[1,18,21,38],
[2,17,22,37],
[3,16,23,36],
[9,15,24,35],
[8,14,25,34],
[7,13,26,33],
[6,12,27,32],
[5,11,28,31],
[4,10,29,30],
])

starr = np.array(["a","b","c","d","e","f","g","h","i","j"])

for i in range(4):
lth_idx = np.argsort(arr[:,i])

lth_arr = arr[lth_idx]
lth_str = starr[lth_idx]

for j in range(10):
print("{0:s} {1:2d}".format(lth_str[j],lth_arr[j]))

print("=====================")


Подробнее здесь: https://stackoverflow.com/questions/798 ... ring-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»