我正在编写一个NumPy程序,该程序将创建一个由“字符串”(轴1)组成的多维“字符串”数组(轴0),其中外来字符串由“字符”(轴2)组成。
我希望程序能够动态地更改维度的数量,给定维度中的字符串数量(不是每个维度!),给定字符串中的“字符”数量给定的维数和给定的字符值...
在调用函数def set_value
之后,正在实时计算金额。
对象(根)是在开始时以np.zeros((1,1,1))
的形式创建的,然后是for维的设置值,这很好用,但是当我到达要设置“字符串”数量的部分时维度中的值引发错误。这是相关功能的一部分:
def set_value(value, root, list_of_given_Ds):
for dimension in list_of_given_Ds:
root[dimension] = np.resize(root,
(root.shape[0],value,root[dimension].shape[1]))
在此,该函数取根(即包含所有尺寸的对象,请参见上文),并将所有给定尺寸(通过对列表中给定的每个尺寸手动执行)调整为给定数量的“字符串”($ value $),保留每个字符串中已经存在的“字符”数量(通过在np.resize
函数中查找并用作参数)。
我在做什么错了?
我确保要发送给函数的维度列表仅包含现有维度。
使用root =
而不是root[dimension] =
不会引起任何错误,但是会为每个维(而不是给定维)设置一定数量的刺。