1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
| import numpy as np
np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
#全零的3x2数组
a = np.zeros((3, 2))
#获取数组的尺寸
print(a.shape)
#默认数据类型
print(a.dtype) #float64
#指定数据类型
a = np.zeros((3, 2), dtype=np.int32) # 修改为整数类型
#对已有的数组转换数据类型
a = a.astype(np.float64) # 转换为浮点数类型
#全一的3x2数组
b = np.ones((3, 2))
print(b)
#递增数列
c = np.arange(1, 10, 2) # 从1到9,步长为2
print(c)
#等分区间
d = np.linspace(0, 1, 5) # 从0到1,分成5个点
print(d)
#随机数组
e = np.random.rand(3, 2) # 3x2的随机数组
print(e)
#两个相同尺寸数组可以直接进行四则运算,对同位置的元素进行运算
f = np.array([1, 2, 3, 4])
g = np.array([5, 6, 7, 8])
#加法
print(f + g)
#除法
print(f / g)
#-----------------------点乘,即向量的内积-----------------------
print(np.dot(f, g))
#-----------------------矩阵乘法-----------------------
h = np.array([[1, 2],
[3, 4]])
i = np.array([[5, 6],
[7, 8]])
print(h @ i) # 矩阵乘法
#-----------------------对数组所有数依次求平方根-----------------------
print(np.sqrt(f)) # 对数组f的每个元素求平方根
print(np.sin(f)) # 对数组f的每个元素求正弦
print(np.cos(f)) # 对数组f的每个元素求余弦
print(np.log(f)) # 对数组f的每个元素求自然对数
print(np.power(f, 2)) # 对数组f的每个元素进行指数运算
print(f * 5) # 对数组f的每个元素乘以5
print(f.min(), f.max(), f.mean(), f.median(), f.var(), f.std(), f.sum()) # 求最小值、最大值、均值、中位数、方差、标准差、总和
print(f.argmin(), f.argmax()) # 求最小值和最大值的索引
#-----------------------二维数组的行列求和-----------------------
j = np.array([[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10]])
# 按列求和(第一个维度为0)
print(j.sum(axis=0)) # 输出每列的和 结果是 [ 7 , 9, 11, 13, 15]
# 按行求和(第一个维度为1)
print(j.sum(axis=1)) # 输出每行的和 结果是 [15, 40]
#获取元素
print(j[0, 1]) # 获取第一行第二列的元素
#筛选
print(j[(j > 5) & (j % 2 == 0)]) # 获取大于5且为偶数的元素
#获取第一行,第二列到第四列的元素
print(j[0, 1:4]) # 获取第一行的第二列到第四列的元素
|