我有一个数组,其字符串表示形式打印如下
['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'
任何的意见都将会有帮助!提前致谢。
对于你的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