我正在使用linspace创建一个数组:
>> a = np.linspace(0, 4, 9)
>> a
>> array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. ])
我成功地调整了它的大小,如下所示:
>> a.resize(3, 3)
>> a
>> array([[0. , 0.5, 1. ],
[1.5, 2. , 2.5],
[3. , 3.5, 4. ]])
但是,当我尝试按如下方式调整其大小时:
a.resize(4, 2, refcheck=False)
这给了我以下错误: ValueError: cannot resize this array: it does not own its data
当我创建相同的值数组并调整其大小时,数组大小已成功调整:
>> b = np.array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. ])
>> b.resize(4, 2, refcheck=False)
>> b
>> array([[0. , 0.5],
[1. , 1.5],
[2. , 2.5],
[3. , 3.5]])
a和两者b都是numpy.ndarray
我的问题:为什么resize()使用创建数组时会出现此错误linspace?当使用 3x3 调整大小(因此使用数组的所有元素)时,它不会抱怨所有权,但为什么即使我使用refcheck=False选项它也会抱怨 4x2 ?
linspace我阅读了有关和 的文档resize,但找不到有关原因的答案。
慕标琳琳
相关分类