如何在多维nparray中仅调整一维尺寸?

时间:2019-07-29 12:14:52

标签: python numpy

我正在编写一个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] =不会引起任何错误,但是会为每个维(而不是给定维)设置一定数量的刺。

0 个答案:

没有答案
相关问题