Numpy常用函數的簡單記錄

 Numpy是進行矩陣、向量相關計算的利器,一些相關操作記錄如下

import numpy as np

print("定義數組")
a = np.array([1, 2, 3, 4, 5])
b = np.array([5, 6, 7, 8, 9])
print(a)
print(b)

print("快速構造數組:")
print("構造隨機數組")
a1 = np.empty(3)
a2 = np.empty([2, 3])
a3 = np.empty([3, 4])
print(a1)
print()
print(a2)
print()
print(a3)

print("構造全0數組")
a4 = np.zeros(4)
a5 = np.zeros([2, 3, 4])
print(a4)
print()
print(a5)
print()
print("構造全1數組")
a6 = np.ones([2, 3, 4])
print(a6)
print()
print("構造下三角數組")
a7 = np.tri(3)
print(a7)
print()
print("構造在1-20之間生成7個元素")
a8 = np.linspace(1, 20, num=7)
print(a8)
print()
print("在1-20之間每7個值生成一個元素")
a9 = np.arange(1, 20, step=7)
print(a9)
print()
print("生成一個隨機矩陣")
a10 = np.random.rand(2, 5)
print(a10)
print()
print("按均值爲1,標準差爲0.5的正太分佈生成5個隨機數")
a11 = np.random.normal(1, 0.5, size=5)
print(a11)
print()
print("數組相乘")
c = a * b
print(c)
print("切片操作[開始:結束:步長]")
print(a[1:3])
print(a[4:1:-1])
print(a[1:4:2])
print()
print("軸的概念:指從0開始的數組的第幾個緯度")
d = np.array([[[1, 2], [11, 12], [5, 6]], [[-1, -2], [13, 14], [15, 3]]])
print(d)
print("計算軸對軸1進行聚合")
print(np.sum(d, 1))
print("對數組進行轉置")
print(np.transpose(d))
print("數組合並與拆分")
e1 = np.array([1, 2, 3, 4])
e2 = np.array([2, 3, 4, 5])
e3 = np.array([2, 4, 6, 8])
e = np.column_stack((e1, e2, e3))
print("e")
print(e)
f1 = np.array([[1, 2], [3, 4]])
f2 = np.array([[5, 6], [7, 8]])
f3 = np.concatenate((f1, f2), axis=0)
f4 = np.stack((f1, f2), axis=0)
print("f3")
print(f3)
print("f4")
print(f4)
print("批量操作")
print(np.add(f1,f2))
print("數組*3")
print(f1*3)

定義數組
[1 2 3 4 5]
[5 6 7 8 9]
快速構造數組:
構造隨機數組
[-0.e+000 -0.e+000  1.e-323]

[[-0.00000000e+000 -0.00000000e+000  2.16036296e+150]
 [ 2.29623919e-314  2.24952657e-314  1.44370448e-043]]

[[-0.00000000e+000  1.29073919e-231 -3.95252517e-323  0.00000000e+000]
 [ 2.12199579e-314  0.00000000e+000  0.00000000e+000  0.00000000e+000]
 [ 1.77229088e-310  3.50977866e+064  0.00000000e+000  0.00000000e+000]]
構造全0數組
[0. 0. 0. 0.]

[[[0. 0. 0. 0.]
  [0. 0. 0. 0.]
  [0. 0. 0. 0.]]

 [[0. 0. 0. 0.]
  [0. 0. 0. 0.]
  [0. 0. 0. 0.]]]

構造全1數組
[[[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]

 [[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]]

構造下三角數組
[[1. 0. 0.]
 [1. 1. 0.]
 [1. 1. 1.]]

構造在1-20之間生成7個元素
[ 1.          4.16666667  7.33333333 10.5        13.66666667 16.83333333
 20.        ]

在1-20之間每7個值生成一個元素
[ 1  8 15]

生成一個隨機矩陣
[[0.62239628 0.33573365 0.886066   0.71993383 0.83568886]
 [0.164411   0.44619014 0.74425122 0.50170984 0.94061542]]

按均值爲1,標準差爲0.5的正太分佈生成5個隨機數
[0.97500734 0.13264344 1.10790576 1.34224876 1.36676006]

數組相乘
[ 5 12 21 32 45]
切片操作[開始:結束:步長]
[2 3]
[5 4 3]
[2 4]

軸的概念:指從0開始的數組的第幾個緯度
[[[ 1  2]
  [11 12]
  [ 5  6]]

 [[-1 -2]
  [13 14]
  [15  3]]]
計算軸對軸1進行聚合
[[17 20]
 [27 15]]
對數組進行轉置
[[[ 1 -1]
  [11 13]
  [ 5 15]]

 [[ 2 -2]
  [12 14]
  [ 6  3]]]
數組合並與拆分
e
[[1 2 2]
 [2 3 4]
 [3 4 6]
 [4 5 8]]
f3
[[1 2]
 [3 4]
 [5 6]
 [7 8]]
f4
[[[1 2]
  [3 4]]

 [[5 6]
  [7 8]]]
批量操作
[[ 6  8]
 [10 12]]
數組*3
[[ 3  6]
 [ 9 12]]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章