使用定界符连接字符矩阵 python

joining character matrices with delimiter python

我正在尝试创建一个大维 numpy 字符数组(5 维以上),其中每个 bin 代表一个数字组合。我将删除这些数字(可能使用 /),以便稍后在需要时对信息进行字符串拆分。因此,当这变得像 20 维以上的数组时,特别是为了节省时间。我希望用矩阵而不是进行 20 个循环来做到这一点。请在下面找到一个带有循环的二维示例,任何关于如何在没有循环的情况下执行此操作的想法都会有所帮助。

import numpy as np
storing_array = np.chararray( [80, 98], itemsize = 100 )
for x1 in range(0, 80):
  for x2 in range(0, 98):
    storing_array[x1, x2] = '/'.join([str(x1), str(x2)])

谢谢!

您可以方便地用 np.arange 定义您的 x1x2,将它们转换为 str,然后将它们转换为 object,以便它们得到支持对于某些操作:

x2=np.arange(98).astype(str).astype(object)
x1=np.arange(80).astype(str).astype(object)

现在将/添加到x1的位置:

x1+='/'

现在使用np.broadcasting获得所有组合:

result=x1[:,None]+x2