Удалить скобки из массива - PullRequest
0 голосов
/ 31 мая 2018

У меня есть массив, строковое представление которого печатается следующим образом:

['w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_b68d04']

Это пустой массив, есть ли способ удалить эти скобки, я пробовал '.'join(thearray), но я получаю:

Type Error: sequence item 0: expected instance, Numpy.ndarray found

Что бы я хотел, чтобы это было строковое представление для печати, например:

'w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_b68d04'

Любые предложения будут полезны!Заранее спасибо.

1 Ответ

0 голосов

Для вашего массива 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...