Numpy学习 (3)

Numpy常用函数

求取精度

np.around([-0.6,1.2798,2.357,9.67,13], decimals=0)#取指定位置的精度
'''
array([-1.,  1.,  2., 10., 13.])
'''

看到没,负数进位取绝对值大的!

np.around([1.2798,2.357,9.67,13], decimals=1)
'''
array([ 1.3,  2.4,  9.7, 13. ])
'''

np.around([1.2798,2.357,9.67,13], decimals=2)
'''
array([ 1.28,  2.36,  9.67, 13.  ])
'''

从上面可以看出,decimals表示指定保留有效数的位数,当超过5就会进位(此时包含5)!

但是,如果这个参数设置为负数,又表示什么?

np.around([1,2,5,6,56], decimals=-1)
'''
array([ 0,  0,  0, 10, 60])
'''

发现没,当超过5时候(不包含5),才会进位!-1表示看一位数进位即可,那么如果改为-2呢,那就得看两位!

np.around([1,2,5,50,56,190], decimals=-2)
'''
array([  0,   0,   0,   0, 100, 200])
'''

看到没,必须看两位,超过50才会进位,190的话,就看后面两位,后两位90超过50,进位,那么为200!

取整

np.floor([-0.6,-1.4,-0.1,-1.8,0,1.4,1.7])
'''
array([-1., -2., -1., -2.,  0.,  1.,  1.])
'''

取上限

取上限!找这个小数的最大整数即可!

np.ceil([1.2,1.5,1.8,2.1,2.0,-0.5,-0.6,-0.3])
'''
array([ 2.,  2.,  2.,  3.,  2., -0., -0., -0.])
'''

查找

利用np.where实现小于0的值用0填充吗,大于0的数不变!

x = np.array([[1, 0],
       [2, -2],
     [-2, 1]])
print(x)
'''
[[ 1  0]
 [ 2 -2]
 [-2  1]]
 '''

np.where(x>0,x,0)
'''
array([[1, 0],
       [2, 0],
       [0, 1]])
'''
### NumPy学习教程和资源 #### 数组创建与操作 NumPy提供了多种方法来创建数组并执行各种操作。例如,可以使用`np.array()`函数创建一维或多维数组[^2]。 ```python import numpy as np a = np.array([1, 2, 3]) b = np.array([[0], [4], [5]]) result = a + b print(result) ``` 这段代码展示了如何通过广播机制将不同形状的数组相加得到新的结果矩阵。 #### 基本数学运算功能 除了简单的算术运算外,NumPy还支持一系列高级数学计算,如绝对值、平方根、平方等: ```python n = np.array([1, 4, 8, 8, 9, -24]) # 绝对值 abs_values = np.abs(n) # 开方 sqrt_values = np.sqrt(np.abs(n)) # 对负数求开方前先取绝对值 # 平方 square_values = np.square(n) # 指数 exp_values = np.exp(n) # 自然对数(仅适用于正数) log_values = np.log(np.abs(n)) # 三角函数 sin_values = np.sin(n * (np.pi / 180)) cos_values = np.cos(n * (np.pi / 180)) tan_values = np.tan(n * (np.pi / 180)) ``` 这些例子说明了NumPy库中丰富的内置函数能够简化复杂的数值处理过程。 #### 数据舍入控制 对于浮点型数据的操作,有时需要指定保留的小数位数,这时可以用到`numpy.round()`函数: ```python rounded_array = np.round(a, decimals=2) ``` 此命令会返回一个新的数组,其中每个元素都被四舍五入到了两位小数。 为了更深入地了解NumPy的功能以及掌握更多实用技巧,建议参考官方文档和其他在线课程资料。此外,在实际项目实践中不断练习也是提高技能的有效途径之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值