Для вашего массива Numpy он содержит str
объекты, а не числовые объекты, поэтому ndarray
не может работать.Кроме того, литерал массива (этот текст в квадратных скобках) имеет для заключения в скобки, иначе он будет считаться несколькими аргументами.
np.array(['w_49c9417','w_b6ae946','w_1596a47','w_b68d04'])
допустим, поскольку аргумент является литералом одного массива np.array('w_49c9417','w_b6ae946','w_1596a47','w_b68d04')
не потому, что он имеет четыре аргумента.Вы не можете удалить скобки из литерала массива.
Это может быть задокументировано в SciPy tutorial .
Однако вы можете получить представление str
из этого массива, и удалите крайние скобки.Просто используйте str(arr).lstrip('[').rstrip(']')
arr = np.array(['w_49c9417','w_b6ae946','w_1596a47','w_b68d04'])
print(arr)
print(str(arr))
print(str(arr).lstrip('[').rstrip(']'))
Вывод будет (кроме комментариев после #)
['w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_b68d04'] # arr
['w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_b68d04'] # str(arr)
'w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_b68d04' # using lstrip.rightstrip, expected result