2 条题解
-
0
NUMPY029 题解:远离零取整
题目
如何将浮点数组向远离零的方向取整?
解题思路
利用
np.ceil()(向上取整)和np.floor()(向下取整),结合符号判断。代码
import numpy as np Z = np.random.uniform(-10, +10, 10) print(np.copysign(np.ceil(np.abs(Z)), Z))代码详解
np.random.uniform(-10, 10, 10)—— 创建 10 个 [-10, 10) 的随机数np.abs(Z)—— 取绝对值np.ceil(...)—— 向上取整np.copysign(x, y)—— 将 x 的值复制符号到 y
示例
原始: [-2.3, -5.7, 3.1, 8.9, -0.2] 绝对值: [ 2.3, 5.7, 3.1, 8.9, 0.2] 向上取整: [ 3.0, 6.0, 4.0, 9.0, 1.0] 复制符号: [-3.0, -6.0, 4.0, 9.0, -1.0] ← 结果其他方法
# 方法2:使用 np.where np.where(Z > 0, np.ceil(Z), np.floor(Z)) # 方法3:使用 np.trunc + np.sign np.trunc(Z) + np.sign(Z - np.trunc(Z))核心知识点
np.ceil()—— 向上取整np.floor()—— 向下取整np.copysign()—— 复制符号
- 1
信息
- ID
- 80
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者