1.Numpy数组对象
1.1创建一维数组
import numpy as np # 导入NumPy库
arr1 = np.array([1, 2, 3, 4]) # 创建一维数组
print(' 创建的数组为: ', arr1)
1.2创建二维数组
# 创建二维数组
arr2 = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])
print('创建的数组为:\n', arr2)
1.3Numpy数组的基本属性
print('数组维度为:', arr2.shape) # 查看数组结构
print('数组类型为:', arr2.dtype) # 查看数组类型
print('数组元素个数为:', arr2.size) # 查看数组元素个数
print('数组每个元素大小为:', arr2.itemsize) # 查看数组每个元素大小
1.4利用各种函数创建numpy数组
print('使用arange函数创建的数组为:\n', np.arange(0,1,0.1))
输出结果为:
```
使用arange函数创建的数组为:
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
```
该语句使用 `arange` 函数生成一个数组,起始值是0,终止值是1,步长是0.1。生成的数组包含起始值0但不包含终止值1
print('使用linspace函数创建的数组为:\n', np.linspace(0, 1, 12))
输出结果为:
```
使用linspace函数创建的数组为:
[0. 0.09090909 0.18181818 0.27272727 0.36363636 0.45454545
0.54545455 0.63636364 0.72727273 0.81818182 0.90909091 1. ]
```
该语句使用 `linspace` 函数生成一个包含12个元素的数组,起始值是0,终止值是1,它们被等间距地分隔成11段。因此所有相邻的元素之间的差都相同,即为数组中任意相邻两个数之间的距离都为0.0909....
print('使用logspace函数创建的数组为:\n', np.logspace(0, 2, 20))
输出结果为:
```
使用logspace函数创建的数组为:
[ 1. 1.62377674 2.6366509 4.2813324 6.95192796
11.28837892 18.32980711 29.76351442 48.32930239 78.47599704
127.42749857 206.91380811 335.98182863 545.55947812 885.86679041
1438.44988829 2335.72146909 3792.69019073 6158.48023107 10000. ]
```
该语句使用 `logspace` 函数生成一个包含20个元素的数组,它们是从10^0到10^2之间的等比序列。第一个参数指定第一个元素的值,第二个参数指定最后一个元素的值,第三个参数指定数组中元素的个数。这个数组的值是按对数坐标轴上的等间隔距离分布的
print('使用zeros函数创建的数组为:\n', np.zeros((2,3)))
输出结果为:
```
使用zeros函数创建的数组为:
[[0. 0. 0.]
[0. 0. 0.]]
```
该语句使用 `zeros` 函数创建了一个2x3的二维数组,其中每个元素都是0。参数是一个元组,指定数组的大小。
print('使用eye函数创建的数组为:\n', np.eye(3))
输出结果为:
```
使用eye函数创建的数组为:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
```
该语句使用 `eye` 函数创建了一个3x3的二维数组,对角线上的元素为1,其他元素为0。 `eye` 函数用于创建对角矩阵,即m x n的矩阵中只有主对角线上的元素为1,其他元素均为0。在这个例子中,由于矩阵是方阵,因此它是一个3x3的对角矩阵。
print('使用diag函数创建的数组为:\n', np.diag([1,2,3,4]))
输出结果为:
```
使用diag函数创建的数组为:
[[1 0 0 0]
[0 2 0 0]
[0 0 3 0]
[0 0 0 4]]
```
该语句使用 `diag` 函数创建了一个4x4的二维数组,对角线上的元素是[1,2,3,4]。 `diag` 函数用于创建具有给定对角线的矩阵。在这个例子中,由于输入的是长度为4的数组,因此 `diag` 函数创建了一个4x4的矩阵,其中对角线上的元素分别为[1,2,3,4]
print('使用ones函数的数组为:\n', np.ones((5,3)))