与'.join一起使用时,np.apply_along_axis切片输出

时间:2018-03-20 10:28:02

标签: python numpy

。我有一个二维字符串数组,我打算沿着每一行连接字符串,并在它们之间留一个空格。我使用了以下代码,但是输入失败了,但情况并非如此。

import numpy as np

a = np.array([['3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', 
               '3','3', '3', '3', '3', '9', '11', '3', '3'],
              ['3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', 
               '11', '9', '11', '3', '3', '3', '3', '3', '3']])

def concat(x, separator):
    return separator.join(x).strip()

b = np.apply_along_axis(concat, -1, a, ' ')

预期:

b = ['3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 9 11 3 3',
     '3 3 3 3 3 3 3 3 3 3 3 11 9 11 3 3 3 3 3 3']

输出(参见b第2行的结尾):

b = ['3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 9 11 3 3',
     '3 3 3 3 3 3 3 3 3 3 3 11 9 11 3 3 3 3 3 ']

输出中缺少最后一个3。这应该发生的原因是什么?

1 个答案:

答案 0 :(得分:0)

What does dtype=object mean while creating a numpy array?了解为什么需要添加 dtype = object 才能使其正常工作