python数据分析-numpy模块基础知识(2)

 

 

#这篇文章主要涉及的是矩阵的加减运算,乘法运算,如何得到矩阵的最大值,最小值,平均值等以及矩阵的转置# ps:如果有些知识看不太懂的话,可以先浏览下这个基础(1): numpy模块基础知识(1) 1.矩阵的加减运算

    import numpy as np
  a=np.array([[1,3,7,2],[1,1,2,2]])
  b=np.array([[1,2,2,2],[4,3,5,5]])
  c=a+b
  print(c)

运行结果:

    [[2 5 9 4]
    [5 4 7 7]]

2.两个矩阵的乘法用 np.dot(a,b) ,元素的乘法用 * ,c返回的是点乘的结果,表示两个矩阵中一个一个元素对应相乘,c_dot才是矩阵的乘法原则( 线性代数 学的矩阵乘法)

    import numpy as np
  a=np.array([[1,1],[0,1]])
  b=np.arange(4).reshape((2,2))
  c=a*b
  c_dot=np.dot(a,b)
  print(c)
  print(c_dot)

运行结果:

    [[0 1]
    [0 3]]
  [[2 4]
    [2 3]]

3.取矩阵中的最大值,最小值,求和

    import numpy as np
  a=np.random.random((2,4))
  print(a)
  print(np.sum(a))
  print(np.max(a))
  print(np.min(a))

运行结果:

    [[0.72736344 0.62697694 0.92710953 0.16057127]
    [0.24684854 0.62153325 0.85663209 0.03270094]]
  4.199735998272793
  0.9271095307305688
  0.032700938688204784

另外:最大值以及最小值元素的 索引 (也就是所在位置),用 np.argmax(array) 这种形式即可

    import numpy as np
  a=np.arange(2,14).reshape((3,4))
  print(a)
  print(np.argmin(a))
  print(np.argmax(a))

运行结果:

    [[ 2  3  4  5]
    [ 6 7 8 9]
    [10 11 12 13]]
  0       #最小值2在0位置,
  11     #最大值13在11位置

4.axis=0代表逐行操作,1代表逐列操作 np.max(a,axis=0)是 逐行 ,求的是 每一列 的最大值 np.sum(a,axis=1)是 逐列 ,求的是 每一行 的总和

    import numpy as np
  a=np.random.random((2,4))
  print(a)
  print(np.max(a,axis=0))     #每一列的最大值
  print(np.sum(a,axis=1))     #每一行的总和

运行结果:

    [[0.30268151 0.83788309 0.66272296 0.0704801 ]
    [0.76958351 0.65382616 0.28423487 0.90120983]]
  [0.76958351 0.83788309 0.66272296 0.90120983]
  [1.87376765 2.60885438]

5.取矩阵的平均值,利用 np.mean(array) 或者 np.average(array) ,中位数用 np.median(array)

    import numpy as np
  a=np.arange(2,14).reshape((3,4))
  print(a)
  print(np.mean(a))
  print(np.average(a))
  print(np.median(a))

运行结果:

    [[ 2  3  4  5]
    [ 6 7 8 9]
    [10 11 12 13]]
  7.5
  7.5
  7.5

6.利用 np.cumsum(array) 对矩阵元素累加, np.diff(array) 累差

    import numpy as np
  a=np.arange(2,14).reshape((3,4))
  print(a)
  print(np.cumsum(a))
  print(np.diff(a))

运行结果:

    [[ 2  3  4  5]
    [ 6 7 8 9]
    [10 11 12 13]]
  [ 2 5 9 14 20 27 35 44 54 65 77 90] #累加结果
  [[1 1 1]
    [1 1 1]
    [1 1 1]] #累差结果

7.矩阵的转置,用 np.transpose() 或者 array.T ;dot表示矩阵相乘,A矩阵与B矩阵相乘,用A.dot(B)或者dot(A,B)

    import numpy as np
  a=np.arange(14,2,-1).reshape((3,4))
  print(a)
  print(np.transpose(a))
  print(a.T)

运行结果:

    [[14 13 12 11]
    [10 9 8 7]
    [ 6 5 4 3]] #原矩阵
  [[14 10 6]
    [13 9 5]
    [12 8 4]
    [11 7 3]] #转置结果
  [[14 10 6]
    [13 9 5]
    [12 8 4]
    [11 7 3]]#同样转置结果

_好啦,关于numpy模块基础知识(2)的介绍就先到这里啦~后期会持续更新的哟,欢迎大家提出问题一起学习! 我主要针对的学习对象是刚入门学习python数据分析的小伙伴哟,如果觉得对你有一点点帮助的话就点个赞呗,后期可以一起学习讨论。 _

 

posted on 2021-07-02 21:29  BabyGo000  阅读(54)  评论(0)    收藏  举报