05 ,numpy 矩陣操作 :向量操作,矩陣操作,加和,數乘,內積,拼接,切割,轉置,多乘擴展

1 ,向量 × 數字 : nd01 * 2

  1. 代碼 :
if __name__ == '__main__':
    nd01 = np.array([1,2,3,4])
    nd02 = np.array([2,3,4,5])
    res = nd01 * 2
    print(nd01)
    print(res)
==========================
[1 2 3 4]
[2 4 6 8]

2 ,向量 + 向量 : nd01 + nd02

  1. 代碼 :
if __name__ == '__main__':
    nd01 = np.array([1,2,3,4])
    nd02 = np.array([2,3,4,5])
    res = nd01 + nd02
    print(nd01)
    print(nd02)
    print(res)
===============================
[1 2 3 4]
[2 3 4 5]
[3 5 7 9]

3 ,向量之間的內積 : nd01.dot(nd02)

  1. 代碼 :
if __name__ == '__main__':
    nd01 = np.array([1,2,3,4])
    nd02 = np.array([2,3,4,5])
    res = nd01.dot(nd02)
    print(nd01)
    print(nd02)
    print(res)
=================================
[1 2 3 4]
[2 3 4 5]
40

4 ,矩陣拼接 : 橫向 np.hstack((nd01,nd02))

  1. 代碼 :
if __name__ == '__main__':
    nd01 = np.array([[1,2],[3,4]])
    nd02 = np.array([[5,6],[7,8]])
    nd03 = np.hstack((nd01,nd02))
    print(nd01)
    print(nd02)
    print(nd03)
============================
[[1 2]
 [3 4]]
==========
[[5 6]
 [7 8]]
===========
[[1 2 5 6]
 [3 4 7 8]]

5 ,矩陣拼接 : 縱向 np.vstack((nd01,nd02))

6 ,矩陣切割 : np.hsplit ,np.vsplit

  1. 橫向切分 : 平均分
if __name__ == '__main__':
    nd01 = np.ceil(np.random.random((2,12)) * 10)
    nd02 = np.hsplit(nd01,3)
    print(nd01)
    print(nd02)
==================
[array([[6., 4., 8., 3.],
        [1., 9., 9., 2.]]), 
 array([[ 4.,  5., 10.,  8.],
        [10.,  5.,  3.,  3.]]), 
 array([[ 2.,  8., 10.,  9.],
        [10.,  3.,  1.,  2.]])]
  1. 橫向切分 : 指定位置分
if __name__ == '__main__':
    nd01 = np.ceil(np.random.random((2,12)) * 10)
    nd02 = np.hsplit(nd01,(2,4))
    print(nd01)
    print(nd02)
==========================
[[ 4.  5.  7.  8. 10.  1.  7.  8. 10.  2. 10.  9.]
 [ 4.  1.  9.  4. 10. 10.  4.  5.  3.  3.  7. 10.]]
[array([[4., 5.],
        [4., 1.]]), 
 array([[7., 8.],
        [9., 4.]]), 
 array([[10.,  1.,  7.,  8., 10.,  2., 10.,  9.],
        [10., 10.,  4.,  5.,  3.,  3.,  7., 10.]])]

7 ,矩陣的轉置 : nd01.T

  1. 代碼 :
if __name__ == '__main__':
    nd01 = np.array([[1,2],[3,4]])
    nd02 = nd01.T
    print(nd01)
    print(nd02)
===========================
[[1 2]
 [3 4]]
============
[[1 3]
 [2 4]]

8 ,多乘擴展 : np.tile(nd01,(2,3))

  1. 代碼 :
if __name__ == '__main__':
    nd01 = np.array([1,2,3,4])
    nd02 = np.tile(nd01,(2,3))
    print(nd01)
    print(nd02)
===============================
[1 2 3 4]
[[1 2 3 4 1 2 3 4 1 2 3 4]
 [1 2 3 4 1 2 3 4 1 2 3 4]]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章