Numpy通用函数数组运算

通用函数

  1. 通用函数就是能同时对元素内所有元素逐个进行运算的函数。
  2. numpy进行快速数据运算的关键在于向量化。
  3. numpy支持运算符操作,运算符看作是运算类函数的简写。
  4. 从功能上分类,通用函数分为算术计算函数,双曲三角函数,位运算类,比较运算符,弧度角度转换类等。
  5. 更加复杂的通用函数放在scipy.special模块下。

算数操作

  • +:np.add
  • -: np.subtract
  • -: np.negative
  • *: p.multiply
  • /: p.divide
  • //:np.floor_divide
  • **:np.power
  • %j np.mod
  • absolute(abs):绝对值,比较特殊,可以处理复数;当求复数的绝对值的时候,结果是复数的幅度
import numpy as np
#运算符举例
#需要注意的是逐个元素运算
a = np.arange(20).reshape([4,5])
print("a = \n", a)
print("a+3 = \n", a + 3)
print("a//5 = \n",a//3)
print("a**2 = \n",a**2)
print("-a = \n",-a)
print("a%3=\n",a%3)
import numpy as np
# abs举例
a = np.arange(-10,0).reshape( [2,5] )
print("a = \n",a)
print("abs(a) = \n",abs(a))
a = np.array([1-2j, 3-4j, 5-6j,7-9j])
print("abs(a) = ",abs(a))

在这里插入图片描述

import numpy as np
#三角函数举例
theta = np.linspace(0, np.pi, 5)
print("theta = ",theta )
#三角函数
print("sin(theta) = ",np. sin(theta))
print ("cos(theta) = ",np.cos (theta))
print ("tan(theta) = "
, np. tan(theta))
#反三角函数
print ("arcsin(theta) = ",np.arcsin(theta))
print("arccos (theta) = ",np.arccos (theta) )
print("arctan(theta) = ",np.arctan(theta) )

比较操作

符号调用
==np.equal
!=np.not_ equal
<np.less
<=np.less_ equal
>np.greater
>=np.greater_ equal
import numpy as np
#常用的np关于比较运算的操作
# count_ _nonzero用来统计非零的值个数
a = np. random. randint(100, size=(2,5) )
print("a = \n", a)
print()
# count_ nonzero用来统计非零的值个数
#统计小于50的数字的个数
print ("小于50的格式总共{}个".
       format (np. count_nonzero(a< 50)) )
#或者
print()
#布尔值也可以作为数字运算,所以可以直接求和
#统计大于50的数字的个数
print("大于50的格式总共{}个". format(np. sum(a > 50)))

在这里插入图片描述

import numpy as np
#如果检测结果是否包含真值或者全部是否都是某个值
#可以用any或者all
a = np. array([1,2,3,4,5,6])
print("a = ",a)
print ("a中包含大于10的数字吗: ",np.any(a > 10))
print ("a中包含大于5的数字吗: ",np.any(a > 5))
print ("a中的数组都大于0吗: ", np.all(a > 0))

位运算

符号调用
&np.bitwise_ _and
np.bitwise. or
^np.bitwise_ xor
~np.bitwise_ not
import numpy as np
a = np. arange(20). reshape( [4,5] )
print("a = \n", a)
print ("a中能被3整除或者7整除的数字保留: ")
print((a % 3 == 0)|(a%7== 0))

掩码操作

import numpy as np
a = np. random. randint(100,size=(3,5) )
print("a = \n", a)
print()
#掩码可以快速提取数据,比如,提取出小于50的数据
a1 = a[a<50]
print("a1 = ", a1)
print("a1. shape = ", a1.shape)

在这里插入图片描述

指定输出

大量数据运算的临时结果一般放在内存变量中 ,但有时候可能需要把中间结果写入指定位置,此时就需要用到指定输出功能
所有通用函数都可以带参数out , out即是需要将结果写入的位置

import numpy as np
a = np.arange(10)
b = np.empty(10)
#此时把中间结果存入b,最终结果存入c
#此处中间结果和最终结果一致
c = np.multiply(a,2,out=b)
print("a = ",a)
print("b = ",b)
print("C = ",c)

在这里插入图片描述

import numpy as np
# out也可以是一个数组的视图,这样可以直接更改数组内容
a = np.arange(5)
b=np.zeros(10)
np.power(2, a, out=b[::2])
print("a = ",a)
print("b = ",b)

在这里插入图片描述

外积

数组的外积,就是数组对应逐个元素相乘,即获得两个数组所有元素对的乘积

假定数组a1,a2 ,每个数组10个元素,总共获得的外积应该有10x 10 = 100个元素

import numpy as np
#外积计算
a = np. arange(1, 6)
b = np.arange(10, 15)
print("a = \n" ,a)
print()
print("b = \n", b)
print( )
c = np.multiply. outer(a,b)
print("c=\n",c)

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值