gpt4 book ai didi

python - 调整 ndarray 的 ValueError

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:06 26 4
gpt4 key购买 nike

我有一个小的 python 脚本,但我总是遇到错误:

ValueError: cannot resize an array references or is referenced
by another array in this way. Use the resize function

代码:

points = comp.findall('Points')              # comp is a parsed .xml
diffvals = np.arange(10, dtype=float)
diffvals.resize(len(points),8)

但是有两点我不明白:

  1. 我只在使用调试器时遇到此错误。
  2. 我有另一个代码相同的脚本,一切正常。我用调试器检查了这一点,所有值、数据类型等都是相同的(当然除了内存地址)

我不知道我能做些什么来解决这个问题。

最佳答案

默认情况下,您无法使用 resize 方法就地调整与另一个数组共享数据的 NumPy 数组的大小。相反,您可以使用 np.resize 函数创建一个新的调整大小的数组:

np.resize(a, new_shape)

或者您可以使用以下方式禁用引用检查:

a.resize(new_shape, refcheck=False)

您只能通过调试器看到它​​的可能原因是调试器将数组引用到例如打印它。此外,调试器可能不会在您将它们分配给变量之前存储对临时数组的引用,这可能解释了为什么其他脚本可以工作。

关于python - 调整 ndarray 的 ValueError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24034839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com