Numpy学习笔记002
目录
四、Numpy数组的基本使用
1.什么是数组
数组是 NumPy 库的核心数据结构。它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。一个 ndarray
是具有相同类型和大小的项目的(通常是固定大小的)多维容器。 尺寸和数组中的项目的数量是由它的shape
定义, 它是由N个非负整数组成的tuple
,用于指定每个维度的大小。组中项目的类型由单独的data-type object (dtype)
指定, 其中一个与每个ndarray相关联。
2.Numpy如何创建数组(ndarray对象)
数组的创建有以下几个方法:
- 从其他Python结构(例如,列表,元组)转换
- numpy原生数组的创建(例如,arange、ones、zeros等)
- 从磁盘读取数组,无论是标准格式还是自定义格式
- 通过使用字符串或缓冲区从原始字节创建数组
- 使用特殊库函数(例如,random)
使用常见方法创建实例数组。
使用的是jupyter notebook
编辑器
2.1 根据Python
中的列表生成:
import numpy as np
a1 = np.array([1,2,3,4])
print(a1)
print(type(a1))
[1 2 3 4]
<class 'numpy.ndarray'>
2.2 使用np.random
生成随机数的数组
import numpy as np
a3 = np.random.random((2,2)) # 生成2行2列的随机数的数组
print(a3)
print("="*20)
a4 = np.random.randint(0,10,size=(2,2)) # 元素是从0-10之间随机的2行2列的数组
print(a4)
[[0.18899973 0.42858053]
[0.43177188 0.90261865]]
====================
[[7 2]
[1 1]]
2.3 numpy原生数组的创建
用函数生成特殊的数组
2.3.1 numpy.arange
生成
np.arange的用法类似于Python中的range:
import numpy as np
a2 = np.arange(2,21,2)
print(a2)
print(type(a2))
[ 2 4 6 8 10 12 14 16 18 20]
<class 'numpy.ndarray'>
2.3.2 numpy.zeros()
函数
生成的数组元素都为0
import numpy as np
a5 = np.zeros((4,3)) #生成一个所有元素都是0的4行3列的数组
print(a5)
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
2.3.3 numpy.ones()
函数
生成的数组元素都为1
import numpy as np
a6 = np.ones((2,6)) #生成一个所有元素都是1的2行6列的数组
a6
array([[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.]])
2.3.4 numpy.full((M,N),n)
函数
生成一个所有元素都是n的M行N列的数组
import numpy as np
a7 = np.full((4,2),14) # 生成一个所有元素都是14的4行2列数组
a7
array([[14, 14],
[14, 14],
[14, 14],
[14, 14]])
2.3.5 numpy.eye(n)
函数
生成一个 nXn 的数组, 左上到右下的斜对角线为元素都为1,其余元素为0
import numpy as np
a8 = np.eye(5) #生成一个在斜方形上(左上到右下)元素为1,其他元素都为0的5x5的矩阵
a8
array([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])