Python 从numpy阵列中卸下支架

Python 从numpy阵列中卸下支架,python,arrays,numpy,Python,Arrays,Numpy,我有一个数组,它的字符串表示如下 ['w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_b68d04'] 这是一个numpy数组,是否有任何方法可以删除这些括号,我尝试了加入(数组),但我得到: Type Error: sequence item 0: expected instance, Numpy.ndarray found 理想情况下,我希望这是一种字符串表示形式,可以像这样打印: 'w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_

我有一个数组,它的字符串表示如下

['w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_b68d04']
这是一个numpy数组,是否有任何方法可以删除这些括号,我尝试了加入(数组),但我得到:

Type Error: sequence item 0: expected instance, Numpy.ndarray found
理想情况下,我希望这是一种字符串表示形式,可以像这样打印:

'w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_b68d04'
任何建议都会有帮助!
提前感谢。

对于您的Numpy数组,它包含
str
对象,而不是数字对象,因此
ndarray
无法工作。此外,数组文字(用括号括起来的文本)必须用括号括起来,否则它将计为多个参数

  • np.数组(['w_49c9417'、'w_b6ae946'、'w_1596a47'、'w_b68d04'])
    是有效的,因为参数是单个数组文本
  • np.array('w_49c9417','w_b6ae946','w_1596a47','w_b68d04')
    不是因为它有四个参数。不能从数组文字中删除括号
这可以记录在中

但是,您可以获取该数组的
str
表示形式,并删除最外层的括号。只需使用str(arr).lstrip('[').rstrip(']')即可

输出为(除了#之后的注释)


你能把你的努力用代码写出来吗?你的意思有点不清楚。是否要创建数组的字符串?或者你想把它打印出来?或者你是说别的什么?我想你把实际的数组值和它的repr或str表示混淆了。数组的repr和str中总是有括号,但数组本身没有括号(除非你的数组有字符串元素,而这些字符串是其他数组的str表示,或者类似的东西……在这种情况下,不要这样做)z我所期望的是
'w_49c9417''w_b6ae946''w_1596a47''w_b68d04'
,同时,与字符串一样,
。'join(thearray)
不起作用,因为您缺少字符串和方法之间的
。我很确定(不是在电脑前,所以我无法测试)这将是一个
语法错误
,而不是
类型错误
。我还非常确定,您的错误字符串实际上不是Python可以生成的。请阅读帮助,复制并粘贴实际错误和生成错误的实际代码(如果您希望我们调试它)。我猜是2d数组给出了上述错误消息。你能试试
'.join(*thearray)
?@Ryan我已经为你提供了一个答案,但请注意它假设这个“数组文字”实际上是一个字符串。然后,您能澄清一下,您想从该数组的字符串表示中删除括号吗?
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