python - 如何将所有小于 5 的元素提高到 2 的幂,大于 5 - 到 3 的幂 Numpy
问题描述
我需要使用 Numpy 将所有小于 5 的元素提高到 2 的幂,大于 5 - 到 3 的幂
大批:
arr = np.array([[0, 2, 4, 6],
[7, 9, 11, 13],
[14, 16, 18, 20],
[21, 23, 25, 27]],
dtype=np.uint64)
解决方案
到位:
mask_a = x < 5
mask_b = x > 5
x[mask_a] **= 2
x[mask_b] **= 3
如果你的意思是mask_b = x >= 5
,你也可以这样做:
x = np.where(x < 5, x**2, x**3)
推荐阅读
- python - 根据条件对变量进行分组
- php - PHP编码问题:显示询问标记的符号
- javascript - MySQL数据未输出到引导模式
- kubernetes - Kubernetes Pod 跨节点通信,它是如何工作的?
- javascript - 如果这些不是表单的一部分但正在由 javascript 解析,浏览器是否会将键盘输入保存在输入标记中?
- javascript - Angular 6,从对象中获取新对象
- kiwi-tcms - 内部错误跟踪器:无法删除它
- java - Springboot 项目的 Tomcat 到 WebLogic Server 迁移期间的错误
- java - 初始化数组和构造函数不起作用
- c# - 在 C# 中按日期对文件夹进行排序