我有一个数组,其字符串表示形式如此打印
['w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_b68d04']
这是一个numpy数组,有什么方法可以删除那些括号,我试过'.'join(thearray)
但是我得到了:
Type Error: sequence item 0: expected instance, Numpy.ndarray found
我最喜欢这样的字符串表示形式如下:
'w_49c9417' 'w_b6ae946' 'w_1596a47' 'w_b68d04'
任何建议都会有所帮助! 提前谢谢。
答案 0 :(得分:3)
对于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