4、numpy之函数

数组的函数有一元函数(对一个结果数组进行计算)与二元函数(两个数组之间的计算);计算结果可以输出为新对象,也可改变数组本身
在这里插入图片描述
在这里插入图片描述

实例:运算函数
1、不改变数组本身
  • 一元函数
import numpy as np
a=np.array([1.2,-1,2.5,3])
b=np.arange(4)
print('数组b:\n',b)
print('数组a:\n',a)
print('a+b的绝对值:\n',np.abs(a+b))
print('a的平方根:\n',np.sqrt(a))
print('a的平方:\n',np.square(a))
print('a的指数:\n',np.exp(a))
print('a的底数为10的log:\n',np.log10(a))
print('a的元素正负布尔值:\n',np.sign(a))
print('a中>=每个元素的最小整数:\n',np.ceil(a))
print('a中<=每个元素的最小整数:\n',np.floor(a))
print('a中每个元素四舍五入的整数:\n',np.rint(a))
print('a中每个元素的整数与小数:\n',np.modf(a))
print('a中每个元素是否为NaN的布尔值:\n',np.isnan(a))
print('a中每个元素是否为无穷的布尔值:\n',np.isinf(a))
print('a中每个元素是否为非空有穷的布尔值:\n',np.isfinite(a))

runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
数组b:
 [0 1 2 3]
数组a:
 [ 1.2 -1.   2.5  3. ]
a+b的绝对值:
 [1.2 0.  4.5 6. ]
a的平方根:
 [1.09544512        nan 1.58113883 1.73205081]
a的平方:
 [1.44 1.   6.25 9.  ]
a的指数:
 [ 3.32011692  0.36787944 12.18249396 20.08553692]
a的底数为10的log:
 [0.07918125        nan 0.39794001 0.47712125]
a的元素正负布尔值:
 [ 1. -1.  1.  1.]
a中>=每个元素的最小整数:
 [ 2. -1.  3.  3.]
a中<=每个元素的最小整数:
 [ 1. -1.  2.  3.]
a中每个元素四舍五入的整数:
 [ 1. -1.  2.  3.]
a中每个元素的整数与小数:
 (array([ 0.2, -0. ,  0.5,  0. ]), array([ 1., -1.,  2.,  3.]))
a中每个元素是否为NaN的布尔值:
 [False False False False]
a中每个元素是否为无穷的布尔值:
 [False False False False]
a中每个元素是否为非空有穷的布尔值:
 [ True  True  True  True]
  • 二元函数
import numpy as np
a=np.array([1.2,-1,2.5,3])
b=np.arange(4)
print('数组b:\n',b)
print('数组a:\n',a)
print('a+b:\n',np.add(a,b))#或a+b
print('a-b:\n',np.subtract(a,b))#或a-b
print('a*b:\n',np.multiply(a,b))#或a*b
print('a/b:\n',np.divide(a,b))#或a/b
print('a/b的整数:\n',np.floor_divide(a,b))#或a//b
print('a/b的余数:\n',np.mod(a,b))#或a%b
print('a的b次方:\n',np.power(a,b))
print('a与b的同索引上最大值的混合数组:\n',np.maximum(a,b))#np.fmax(a,b)忽略NaN值
print('a与b的同索引上最小值的混合数组:\n',np.minimum(a,b))#np.fmin(a,b)忽略NaN值
print('将b的元素符号赋给a的同索引上的元素:\n',np.copysign(a,b))
print('a是否大于b:\n',np.greater(a,b))#或a>b
print('a是否大于等于b:\n',np.greater_equal(a,b))#或a>=b
print('a是否小于b:\n',np.less(a,b))#或a<b
print('a是否小于等于b:\n',np.less_equal(a,b))#或a<=b
print('a是否等于b:\n',np.equal(a,b))#或a=b
print('a是否不等于b:\n',np.not_equal(a,b))#或a!=b
print('a>1且a>b的布尔值:\n',np.logical_and(a>1,a>b))#或print((a>1)&(a>b))
print('a>1或a>b的布尔值:\n',np.logical_or(a>1,a>b))#或print((a>1)|(a>b))
print('不属于a>1且a>b的布尔值:\n',np.logical_not((a>1)&(a>b)))#或print((a<=1)|(a<=b))
print('输出\'或\'而不是\'非和且\'(a>1,a>b)的布尔值:\n',np.logical_xor(a>1,a>b))#或print((a>1)^(a>b))

runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
数组b:
 [0 1 2 3]
数组a:
 [ 1.2 -1.   2.5  3. ]
a+b:
 [1.2 0.  4.5 6. ]
a-b:
 [ 1.2 -2.   0.5  0. ]
a*b:
 [ 0. -1.  5.  9.]
a/b:
 [  inf -1.    1.25  1.  ]
a/b的整数:
 [nan -1.  1.  1.]
a/b的余数:
 [nan 0.  0.5 0. ]
a的b次方:
 [ 1.   -1.    6.25 27.  ]
a与b的同索引上最大值的混合数组:
 [1.2 1.  2.5 3. ]
a与b的同索引上最小值的混合数组:
 [ 0. -1.  2.  3.]
将b的元素符号赋给a的同索引上的元素:
 [1.2 1.  2.5 3. ]
a是否大于b:
 [ True False  True False]
a是否大于等于b:
 [ True False  True  True]
a是否小于b:
 [False  True False False]
a是否小于等于b:
 [False  True False  True]
a是否等于b:
 [False False False  True]
a是否不等于b:
 [ True  True  True False]
a>1且a>b的布尔值:
 [ True False  True False]
a>1或a>b的布尔值:
 [ True False  True  True]
不属于a>1且a>b的布尔值:
 [False  True False  True]
输出'或'而不是'非和且'(a>1,a>b)的布尔值:
 [False False False  True]
2、改变数组本身
import numpy as np
a=np.array([1.2,-1,2.5,3])
b=np.arange(4)
print('输出\'或\'而不是\'非和且\'(a>1,a>b)的布尔值:\n',np.logical_xor(a>1,a>b,b))#或print((a>1)^(a>b))
print('改变后的b:\n',b)

runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
输出'或'而不是'非和且'(a>1,a>b)的布尔值:
 [0 0 0 1]
改变后的b:
 [0 0 0 1]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值