numpy中数组的运算


前言

数组之所以强大,是因为它可以大量计算!

各种计算方法

1.一般运算

数组与标量运算 列数一定要相同,行数也要相同,但也可以不相同,自己可以试一试 !( + - * / 都可)
代码如下(示例):

arr3 = np.array([[1,-2,-3],[1,2,3]])
arr4 = np.array([[4,5,6],[4,5,6]])
print(arr4+arr3)
print(arr4*arr3)
print(arr4/arr3)
print(arr4-arr3)

2.通用函数

一元:

  1. np.abs(x, *args, **kwargs) 绝对值
  2. np.sqrt(x, *args, **kwargs) 开平方
  3. np.square(x, *args, **kwargs) 平方
  4. np.exp(x, *args, **kwargs) 指数
  5. np.log(x, *args, **kwargs) 对数
  6. np.sign(x, *args, **kwargs) 当 x>0是为 1,当x<0是为-1
  7. np.ceil(x, *args, **kwargs) 正无穷大取整
  8. np.floor(x, *args, **kwargs) 负无穷小取整
  9. np.modf(x, out1=None, out2=None, *args, **kwargs) 分为小数和整数
  10. np.rint(x, *args, **kwargs) np.round(a, decimals=0, out=None) 返回四舍五入的值
  11. np.isnan(x, *args, **kwargs)
    np.isinf(x, *args, **kwargs)
    判断是否为缺失值,无穷值
  12. np.cos(x, *args, **kwargs)
    np.cosh(x, *args, **kwargs)
    np.tan(x, *args, **kwargs)
    np.sin(x, *args, **kwargs)
    np.sinh(x, *args, **kwargs)
    np.tanh(x, *args, **kwargs)
    三角函数
  13. np.arccos(x, *args, **kwargs)
    np.arcsin(x, *args, **kwargs)
    np.arctan(x, *args, **kwargs)
    反三角函数

二元:

  1. minimum(x1, x2, *args, **kwargs) 计算元素最小值
  2. maximum(x1, x2, *args, **kwargs) 计算元素最大值
  3. np.add(x1, x2, *args, **kwargs) 求和
  4. np.subtract(x1, x2, *args, **kwargs) 求差
  5. np. negative(x, *args, **kwargs) 负数运算
  6. np.multiply(x1, x2, *args, **kwargs) 相乘
  7. np.divide(x1, x2, *args, **kwargs) 相除
  8. np.floor_divide(x1, x2, *args, **kwargs) 取整运算
  9. np.mod(x1, x2, *args, **kwargs) 相当于“%”

代码如下(部分):

arr3 = np.array([[1,-2,-3],[1,2,3]])
arr4 = np.array([[4,5,6],[4,5,6]])

# 通用函数(ufunc) square sqrt abs add minimum maximum modf
print(np.square(arr4))
# [[16 25 36]
#  [16 25 36]]
print(np.sqrt(arr4))
# [[2.         2.23606798 2.44948974]
#  [2.         2.23606798 2.44948974]]
print(np.abs(arr3))
# [[1 2 3]
#  [1 2 3]]
print(np.add(arr4,arr3))
# [[5 3 3]
#  [5 7 9]]
print(np.minimum(arr4,arr3))
# [[ 1 -2 -3]
#  [ 1  2  3]]
print(np.maximum(arr4,arr3))
# [[4 5 6]
#  [4 5 6]]
print(np.modf(arr4))
# (array([[0., 0., 0.],
#        [0., 0., 0.]]), array([[4., 5., 6.],
#        [4., 5., 6.]]))


3.基本数组统计方法

  1. sum 求和
  2. mean 求平均数
  3. std 求标准差
  4. var 求方差
  5. min 求最小值
  6. max 求最大值
  7. argmin 最小元素的索引
  8. argmax 最大元素的索引
  9. cumsum 累加
  10. cumprod 累乘

代码如下(示例):

print(arr4.sum())
# 30
print(arr4.mean())
# 5.0
print(arr4.std())
# 0.816496580927726
print(arr4.var())
# 0.6666666666666666
print(arr4.min())
# 4
print(arr4.max())
# 5
print(arr4.argmin())
# 0
print(arr4.argmax())
# 2
print(arr4.cumsum())
# [ 4  9 15 19 24 30]
print(arr4.cumprod())
# [    4    20   120   480  2400 14400]

4.集合运算

  1. unque(x) 唯一值
  2. intersect1d(x,y) 公共元素
  3. union1d(x,y) 并集
  4. in1d(x,y) x的元素是否在元素y中,返回bool值
  5. setdiff1d(x,y) 集合的差
  6. setxor1d(x,y) 交集取反
    代码如下(示例):
#  集合运算

print(np.unique(arr4))
# [4 5 6]
print(np.intersect1d(arr4,arr3))
# []
print(np.union1d(arr4,arr3))
# [-3 -2  1  2  3  4  5  6]
print(np.in1d(arr3,arr4))
# [False False False False False False]
print("*"*40)
print(np.setdiff1d(arr4,arr3))  
# [4 5 6]
print(np.setxor1d(arr3,arr4))
# [-3 -2  1  2  3  4  5  6]


总结

努力学习吧!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值