numpy1
Numpy 基础1
1. 创建数组
固定类型数组: 使用 Python 的
array
模块创建固定类型数组。1
2
3import array
L = list(range(10))
A = array.array('i', L)从列表创建数组: 使用
np.array
从 Python 列表创建 NumPy 数组。1
2
3import numpy as np
a = np.array([3.0, 2, 5, 1.3])
b = np.array([1, 2, 3, 4], dtype='float')嵌套列表构成多维数组:
1
c = np.array([range(i, i + 3) for i in [2, 4, 6]])
2. 从头创建数组
全零数组:
np.zeros
创建一个全零数组。1
np.zeros(10, dtype=int)
全一数组:
np.ones
创建一个全一数组。1
np.ones((3, 5))
填充特定值的数组:
np.full
创建一个数组并用特定值填充。1
np.full((3, 5), 3.14)
线性序列数组:
np.arange
创建一个线性序列数组。1
np.arange(0, 20, 2)
随机数组: 使用
np.random
模块创建随机数组。1
2
3np.random.random((3, 3))
np.random.uniform(5, 7, (2, 2))
np.random.randint(5, 7, (2, 2))单位矩阵:
np.eye
创建一个单位矩阵。1
np.eye(3)
3. 数组基础
数组属性: 了解数组的维度、形状、大小、数据类型等属性。
1
x3.ndim, x3.shape, x3.size, x3.dtype, x3.itemsize, x3.nbytes
数组索引和切片: 使用索引和切片访问和修改数组元素。
1
x1[0], x1[-1], x3[2][2][0]
数组变形: 使用
reshape
和np.newaxis
改变数组形状。1
grid_reshape = np.arange(1, 10).reshape(3, 3)
4. 数组的拼接和分裂
数组拼接: 使用
np.concatenate
,np.vstack
,np.hstack
拼接数组。1
2
3np.concatenate([x, y, z])
np.vstack([x, y, z, grid])
np.hstack([grid, grid])数组分裂: 使用
np.split
,np.vsplit
,np.hsplit
分裂数组。1
2x1, x2, x3 = np.split(x, [3, 5])
upper, lower = np.vsplit(grid, [2])
5. 通用函数
数学运算: 使用通用函数进行数组的加减乘除等运算。
1
np.add(x, 5), np.multiply(x, 2)
三角函数和指数对数: 使用
np.sin
,np.cos
,np.exp
,np.log
等函数。1
np.sin(theta), np.exp(x), np.log(x)
高级特性: 使用
reduce
,accumulate
,outer
等高级特性进行聚合和外积计算。1
np.add.reduce(x), np.multiply.outer(x, x)
这些操作和概念是 NumPy 中最常用的部分,掌握它们可以帮助你在数据分析和科学计算中更高效地使用 NumPy。
Lab1
import numpy as np
a = np.arange(1, 19, 1) b = np.arange(19, 49, 1)1
2
3
4
5
6
7
8
9
10
11
12
13
14
- Q1:创建数列
-
- 利用arange函数,创建数组值从1开始到19结束(不包含19),步长为1,保存为a
- 再创建一个从19到49结束(不包含49),步长为1,保存为b
In [3]:
A = a.reshape(3, 6) B = b.reshape(5, 6)1
2
3
4
5
6
7
8
9
10
11
12
13
14
- [Q2: 对数列形变 ]
-
- 利用reshape函数,将a形变为3×6的数组,保存为A
- 将b形变为5×6的数组,保存为B
In [4]:
C = np.vstack((A, B)) D = np.split(C, [2])[1]1
2
3
4
5
6
7
8
9
10
11
12
- [Q3:数组拼接与分裂 ]
- 利用vstack将A和B数组进行垂直方向拼接,保存为C数组
- 利用split对C数组在第2行分裂成两部分,将下半部分保存为D
In [5]:
E = D[0,:]1
2
3
4
5
6
7
8
9
10
- Q4:切片与索引
对D提取第1行所有元素,保存为E
In [6]:
a1 = np.multiply.accumulate(E)[-1] print('a1的值为:',a1)1
2
3
4
5
6
7
8
9
10
- Q5:数组计算
利用multiply.accumulate对E中所有元素依次求积,并保留最后一项作为E中的累计积保存为a1
In [11]:
a1的值为: 133660801
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.