gpt4 book ai didi

python - 值错误: array is not broadcastable to correct shape - Python

转载 作者:行者123 更新时间:2023-11-30 23:24:29 24 4
gpt4 key购买 nike

我收到以下代码的错误,但我不明白为什么。

我打印了我的对象形状,它们是相同的。

def plot_edges_entropy(data, edges, file_path):
plt.figure()

entropy = numpy.zeros((data.rows, data.cols), float)
print entropy.shape, edges.data.shape, data.data.shape
entropy[edges.data == 1.0] = data.data

fig = plt.imshow(entropy, extent=[0, data.cols, data.rows, 0], cmap='hot_r', vmin=0, vmax=1, interpolation='nearest')
plt.colorbar(fig)
plt.savefig(file_path + '.png')
plt.close()

def __init__(self, open_image=False):
"""
The Data constructor
"""
self.data = misc.imread('../TestImages/brain_noisy.jpg', flatten=True)
self.data /= 255.0
x, y = self.data.shape
self.rows = x
self.cols = y

if not open_image:
self.data = numpy.zeros((self.rows, self.cols), float)

打印声明:

(211, 256) (211, 256) (211, 256)

错误:

entropy[edges.data == 1.0] = data.data

ValueError: array is not broadcastable to correct shape

如果我尝试分配一个简单的值,它会起作用:

 entropy[edges.data == 1.0] = 100

有什么问题吗?我可以根据某些条件将一个 ndarray 分配给另一个吗?

提前谢谢您。

最佳答案

除非 edges.data == 1.0 无处不在,否则这将不起作用,因为您正在尝试使用完整的 data.data 来设置它。您可能打算执行以下操作吗?

entropy[edges.data == 1.0] = data.data[edges.data == 1.0]

关于python - 值错误: array is not broadcastable to correct shape - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23397490/

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