繁体   English   中英

Python + 2-D数组切片+ ValueError:操作数不能一起广播

Python + 2-D array slicing + valueerror: operands could not be broadcast together

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

这已经踢了我一脚...

我有以下信息:

 1. a 1-D array of longitudes
 2. a 1-D array of latitudues
 3. a 2-D array of some quantity (sized len(lat),len(long))

我想做的是根据一系列经度和纬度获取数组的子集

我已经尝试过这样的事情

ii = find( (lon >= xlims[0]) & (lon <= xlims[1]) )
jj = find( (lat >= ylims[0]) & (lat <= ylims[1]) )
z=array[jj, ii]

ValueError: shape mismatch: objects cannot be broadcast to a single shape

I have tried this using a boolean approach

ii = ( (lon >= xlims[0]) & (lon <= xlims[1]) )
jj = ( (lat >= ylims[0]) & (lat <= ylims[1]) )

但得到同样的错误。

我可能在这里有些微妙的地方,我想念...有什么想法吗?

1 个回复

我不知道您的find函数做什么,但是您可以使用np.ix_ 首先让我们做一些虚拟数据:

>>> lon = np.arange(10)
>>> lat = np.linspace(40,50,17)
>>> quant = np.random.random((len(lon),len(lat)))
>>> ii = (lon >= 2) & (lon < 5)
>>> jj = (lat >= 42) & (lat <= 44)

这给了我(用于此数据)

>>> ii
array([False, False,  True,  True,  True, False, False, False, False, False], dtype=bool)
>>> jj
array([False, False, False, False,  True,  True,  True, False, False,
       False, False, False, False, False, False, False, False], dtype=bool)

当我们将其输入np.ix_ ,我们得到了可以用来索引的内容:

>>> np.ix_(ii,jj)
(array([[2],
       [3],
       [4]]), array([[4, 5, 6]]))

所以

>>> quant[np.ix_(ii,jj)]
array([[ 0.51567424,  0.84138194,  0.6267137 ],
       [ 0.1865154 ,  0.7785198 ,  0.16720573],
       [ 0.80563691,  0.82990892,  0.28402503]])
1 Python:ValueError:操作数不能与形状一起广播(101)(2)

运行以下代码时,出现以下错误消息: 'ValueError:操作数不能与形状(101)(2)一起广播' 完整的消息是: 当我运行最后一行代码时(即第二个plt.show()),将发生错误。第一个plt.show()可以正常工作。 注意:上面的代码示例来自Python Mac ...

3 解决“ ValueError:操作数不能一起广播”

下面的代码产生以下值错误。 当我将“训练”数据集从10张图像扩展到100张时,它第一次出现。解释器似乎告诉我,我无法对这些数据点执行任何按坐标运算,因为其中一个坐标对缺少值。 我不能同意这一点。 不幸的是,我的解决方法尚未完全解决。 我试图插入一个if条件,然后插入一个contin ...

4 Python:numpy数组操作数不能一起广播

此代码不起作用。 它返回“操作数不能与形状(1,2)(10,)一起广播”错误 这工作得很好。 我收到“操作数无法一起播放”错误。 我知道我的initial_guess已正确解压缩,因为在工作版本和非工作版本中这是相同的。 将x和y数组用作obj函数的参数时,它们以某 ...

5 尝试使用numpy实现2d图像卷积会引发ValueError:操作数无法一起广播

我正在尝试实现自己的算法,以使用某个过滤器对图像进行卷积,并从本文中获得一些帮助。 到目前为止,我有: 我的图像呈numpy形状(510,510) 我的卷积过滤器: 然后,我根据过滤器内核大小将图像划分为子矩阵,如下所示: 但是然后当我使用numpy的einsum方法将子矩阵与这样的过 ...

6 ValueError:操作数无法与形状一起广播 (3,) (3000,)

我正在尝试为我的研究项目评估数值积分。 但我无法弄清楚我面临的错误。 当我尝试以前的代码时,它起作用了,并且代码的相关部分是相同的。 我可以理解x和xAcc没有相同的尺寸,但我认为我用xPositions[i, :] = x线更正了它。 ...

8 ValueError:操作数不能与形状一起广播-Keras

我正在使用以(状态,动作,奖励,next_state)元组形式提供的另一个代理的演示来训练一个代理。 我正在使用Keras和Sklearn。 q学习的工作方式是这样的: 在主函数中,我按如下所示调用外部数据文件: 然后我训练我的经纪人: 一切似乎都可以,但是出现以下错误: 即使我 ...

10 熊猫过滤ValueError:操作数不能与形状一起广播

我正在尝试在for循环中使用其字段过滤数据框: 但是循环的第一行(过滤)向我返回了以下内容: ValueError:操作数不能与形状(2920,)(2921,)一起广播 我不知道为什么 数据框的形状: 数据添加如下: 具有不同的线程,也许与它有关。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM