python - ValueError:操作数无法与形状一起广播 (2501,201) (2501,)
问题描述
我是 python 新手,所以请善待。
我正在尝试将两个 Numpy 数组与该np.logical_or
函数进行比较。当我运行下面的代码时,行上会出现一个错误,
Percentile = np.logical_or(data2 > Per1, data2 < Per2)
说明
ValueError:操作数无法与形状一起广播 (2501,201) (2501,)
data = 1st Array
data2 = 2nd Array
Per1 = np.percentile(data, 10, axis=1)
Per2 = np.percentile(data, 90, axis=1)
Percentile = np.logical_or(data2 > Per1, data2 < Per2)
print(Percentile)
我检查了两个数组的形状,它们看起来都具有相同的形状(2501,201)
(2501,201)
。因此,我很难理解为什么会发生此错误,任何帮助将不胜感激。
解决方案
您需要添加一个维度(通过使用[:, None]
toPer1
和Per2
使它们可广播到数据。
Percentile = np.logical_or(data2 > Per1[:, None], data2 < Per2[:, None])
推荐阅读
- react-native - 在 Tab.Navigator React Native 中隐藏特定的 Tab.Screen
- django - 如何设计模型及其子 django
- html - 是否可以根据范围调整较少的变量?
- c++ - 如何在 Windows 上使用 cmake 配置 mysql 连接器和 boost 库?
- java - 房间数据库 - AsyncTask 未执行
- php - 我不小心删除了我的 .htaccess 文件,如何找回?
- python - 无法通过 check_estimator()
- pine-script - 如何绘制移动平均线交叉的实际价格
- export - 你能从 Sketch 中的 Anima 那里得到好的代码吗?
- image - kendo 图片浏览器删除