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]]

 

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