前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >numpy入门-数组运算

numpy入门-数组运算

作者头像
皮大大
发布2021-03-02 15:10:41
1.1K0
发布2021-03-02 15:10:41
举报
文章被收录于专栏:机器学习/数据可视化

对数组做基本的算术运算,将会对整个数组的所有元组进行逐一运算,并将运算结果保存在一个新的数组内,而不会破坏原始的数组

  • 数组和向量之间的运算
  • 数组和数组之间的运算
  • 通用函数的使用

数组和向量之间的运算

代码语言:javascript
复制
import numpy as np

a = np.array([20,40,50,80])
b = np.arange(4)
print(a)
print(b)
代码语言:javascript
复制
[20 40 50 80]
[0 1 2 3]
代码语言:javascript
复制
c = a - b
c
代码语言:javascript
复制
array([20, 39, 48, 77])
代码语言:javascript
复制
b**2   # 每个元素进行平方
代码语言:javascript
复制
array([0, 1, 4, 9], dtype=int32)
代码语言:javascript
复制
10*np.sin(a)
代码语言:javascript
复制
array([ 9.12945251,  7.4511316 , -2.62374854, -9.93888654])
代码语言:javascript
复制
a < 40
代码语言:javascript
复制
array([ True, False, False, False])
代码语言:javascript
复制
a[a>45]
代码语言:javascript
复制
array([50, 80])

数组和数组之间的运算

代码语言:javascript
复制
A = np.array( [[1,1],
            [0,1]])
B = np.array( [[2,0],
            [3,4]])

print(A)
B
代码语言:javascript
复制
[[1 1]
 [0 1]]

array([[2, 0],
       [3, 4]])
四则运算
代码语言:javascript
复制
print(A - B)
A*B
代码语言:javascript
复制
[[-1  1]
 [-3 -3]]

array([[2, 0],
       [0, 4]])
向量点乘的实现
  • dot
  • @
代码语言:javascript
复制
A.dot(B)
代码语言:javascript
复制
array([[5, 4],
       [3, 4]])
代码语言:javascript
复制
np.dot(A,B)
代码语言:javascript
复制
array([[5, 4],
       [3, 4]])
代码语言:javascript
复制
A@B
代码语言:javascript
复制
array([[5, 4],
       [3, 4]])
自加和自乘
代码语言:javascript
复制
A += B
A
代码语言:javascript
复制
array([[3, 1],
       [3, 5]])
代码语言:javascript
复制
A *= B
A
代码语言:javascript
复制
array([[ 6,  0],
       [ 9, 20]])
聚合函数
代码语言:javascript
复制
A.mean()
代码语言:javascript
复制
8.75
代码语言:javascript
复制
A.max()
代码语言:javascript
复制
20
代码语言:javascript
复制
A.min()
代码语言:javascript
复制
0
指定行列的聚合
代码语言:javascript
复制
c = np.array(np.arange(12).reshape(3,4))
c
代码语言:javascript
复制
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
代码语言:javascript
复制
c.sum(axis=1)  # 行上求和
代码语言:javascript
复制
array([ 6, 22, 38])
代码语言:javascript
复制
c.mean(axis=0) # 列上求均值
代码语言:javascript
复制
array([4., 5., 6., 7.])
代码语言:javascript
复制
c.cumsum(axis=1)  # 行上求累加
代码语言:javascript
复制
array([[ 0,  1,  3,  6],
       [ 4,  9, 15, 22],
       [ 8, 17, 27, 38]], dtype=int32)
sort函数
  • Signature: np.sort(a, axis=-1, kind=‘quicksort’, order=None)
  • axis : int or None, optional Axis along which to sort. If None, the array is flattened before sorting. The default is -1, which sorts along the last axis.
  • kind : {‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, optional Sorting algorithm. Default is ‘quicksort’.
代码语言:javascript
复制
# 排序:默认是快排,从低到高
c.sort()
c
代码语言:javascript
复制
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
代码语言:javascript
复制
d = np.array([[1,6,2],[6,1,3],[1,5,2]])
d
代码语言:javascript
复制
array([[1, 6, 2],
       [6, 1, 3],
       [1, 5, 2]])
代码语言:javascript
复制
d.sort(axis=0)   # 在行index上进行排序
d
代码语言:javascript
复制
array([[1, 1, 2],
       [1, 5, 2],
       [6, 6, 3]])

通用函数

  • all
  • any
  • argmax
  • argmin
  • argsort
  • average
  • diff
代码语言:javascript
复制
c
代码语言:javascript
复制
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
代码语言:javascript
复制
np.exp(c)   # 求e的指数
代码语言:javascript
复制
array([[1.00000000e+00, 2.71828183e+00, 7.38905610e+00, 2.00855369e+01],
       [5.45981500e+01, 1.48413159e+02, 4.03428793e+02, 1.09663316e+03],
       [2.98095799e+03, 8.10308393e+03, 2.20264658e+04, 5.98741417e+04]])
代码语言:javascript
复制
np.sqrt(c)
代码语言:javascript
复制
array([[0.        , 1.        , 1.41421356, 1.73205081],
       [2.        , 2.23606798, 2.44948974, 2.64575131],
       [2.82842712, 3.        , 3.16227766, 3.31662479]])
代码语言:javascript
复制
np.add(c,c)   # 两个c相加
代码语言:javascript
复制
array([[ 0,  2,  4,  6],
       [ 8, 10, 12, 14],
       [16, 18, 20, 22]])
代码语言:javascript
复制
c * 2
代码语言:javascript
复制
array([[ 0,  2,  4,  6],
       [ 8, 10, 12, 14],
       [16, 18, 20, 22]])
代码语言:javascript
复制
np.argsort(c, axis=0)    # 返回的是排序后的索引:axis=0 行上进行排序
# c.argsort()
代码语言:javascript
复制
array([[0, 0, 0, 0],
       [1, 1, 1, 1],
       [2, 2, 2, 2]], dtype=int64)
代码语言:javascript
复制
np.argsort(c, axis=1)  # axis=1 : 列上进行排序
代码语言:javascript
复制
array([[0, 1, 2, 3],
       [0, 1, 2, 3],
       [0, 1, 2, 3]], dtype=int64)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数组和向量之间的运算
  • 数组和数组之间的运算
    • 四则运算
      • 向量点乘的实现
        • 自加和自乘
          • 聚合函数
            • 指定行列的聚合
              • sort函数
              • 通用函数
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档