linux四舍五入取整函数,【NumPy】 之常见运算四舍五入、取整、条件选取(np.around、np.floor、np.ceil、np.where)...

tz_zs 2018-06-22 17:07:41  51695  收藏 47

展开

____tz_zs

之前把 numpy 资料写在了同一篇博客里,发现非常难以查阅,于是按功能切分开来。

https://blog.csdn.net/tz_zs/article/details/73929778

https://blog.csdn.net/tz_zs/article/details/80773612

https://blog.csdn.net/tz_zs/article/details/80775256

(1) np.around 四舍五入

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

around(a, decimals=0, out=None)

a 输入数组

decimals 要舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置

·

# -*- coding: utf-8 -*-

"""

@author: tz_zs

"""

import numpy as np

n = np.array([-0.746, 4.6, 9.4, 7.447, 10.455, 11.555])

around1 = np.around(n)

print(around1)  # [ -1.  5.  9.  7.  10.  12.]

around2 = np.around(n, decimals=1)

print(around2)  # [ -0.7  4.6  9.4  7.4  10.5  11.6]

around3 = np.around(n, decimals=-1)

print(around3)  # [ -0.  0.  10.  10.  10.  10.]

·

(2) np.floor 向下取整

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

·

# -*- coding: utf-8 -*-

"""

@author: tz_zs

"""

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.]

·

(3) np.ceil 向上取整

np.ceil 函数返回输入值的上限,即对于输入 x ,返回最小的整数 i ,使得 i> = x。

# -*- coding: utf-8 -*-

"""

@author: tz_zs

"""

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.]

·

(4) np.where 条件选取

numpy.where(condition[, x, y])

根据条件 condition 从 x 和 y 中选择元素,当 condition 为 True 时,选 x,否则选 y。

https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html

.

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.        ]]

'''

.

————————————————

版权声明:本文为CSDN博主「tz_zs」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/tz_zs/java/article/details/80775256

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值