NumPy常见运算举例(np.around、np.floor、np.ceil、np.where)

2020年1月8日 0 作者 折纸

总结

np.around()返回四舍五入后的值 可指定精度
np.floor()向下取整
np.ceil()向上取整
np.where()根据condition布尔值从x,y中选择元素,为True时选择x否则选择y

(下面基本上是废话)

np.around

np.around 返回四舍五入值,可以指定精度

注意:对于正好在舍入小数值之间的值,NumPy舍入到最接近的偶数值。当超过5时候(不包含5),才会进位!因此,1.5和2.5轮到2.0,-0.5和0.5轮到0.0等。

np.around(x, decimals = 0, out = None)

 

  • a : array_like。输入数据。

  • decimals : int,可选。要舍入的小数位数(默认值:0)。如果小数为负数,则指定小数点左侧的位置数。

  • out : ndarray,可选。替代输出数组,用于放置结果。它必须具有与预期输出相同的形状,但如果需要,将输出输出值的类型。一般不启用此参数

np.floor

np.floor 返回不大于输入参数的最大整数。 即对于输入值 x ,将返回最大的整数 i ,使得 i <= x。 注意在Python中,向下取整总是从 0 舍入。

# -*- coding: utf-8 -*-
import numpy as np

n = np.array([-1.7, -2.5, -0.2, 0.6, 1.2, 2.7, 11])

floor = np.floor(n)
print(floor)  # [ -2.  -3.  -1.   0.   1.   2.  11.]
```

### np.ceil
np.ceil 函数返回输入值的上限,即对于输入 x ,返回最小的整数 i ,使得 i> = x
```python
# -*- coding: utf-8 -*-
import numpy as np

n = np.array([-1.7, -2.5, -0.2, 0.6, 1.2, 2.7, 11])

ceil = np.ceil(n)
print(ceil)  # [ -1.  -2.  -0.   1.   2.   3.  11.]

 

np.where

numpy.where(condition[, x, y])
根据 condition 从 x 和 y 中选择元素,当为 True 时,选 x,否则选 y。

import numpy as np

data = np.random.random([2, 3])
print data

'''
[[ 0.93122679  0.82384876  0.28730977]
 [ 0.43006042  0.73168913  0.02775572]]
'''

result = np.where(data > 0.5, data, 0)
print result

'''
[[ 0.93122679  0.82384876  0.        ]
 [ 0.          0.73168913  0.        ]]
'''