# 创建数组# 一维数组
一维数组 1 2 3 import numpy as np data = np.array([1 , 2 , 3 , 4 ]) print (data)
输出
[1 2 3 4]
# 二维数组(矩阵)
二维数组 1 2 3 import numpy as np data = np.array([[1 , 2 , 3 , 4 ], [4 , 5 , 6 , 7 ]]) print (data)
输出:
# 全 0 数组s h a p e shape s h a p e 属性代表形状, shape(2, 5)
就代表创建 2 2 2 行 5 5 5 列的全零数组
全0数组 1 2 3 import numpy as np data = np.zeros(shape=(5 , 3 ))
# 全 1 数组
全1数组 1 2 3 import numpy as np data = np.ones(shape=(5 , 3 ))
# 全空数组创建出来的全空数组中的数据都是无限小 的、无限接近于 0 0 0 但不是 0 0 0
全空数组 1 2 3 import numpy as npdata=np.empty(shape=(5 ,3 ))
# 有连续序列的数组
连续序列数组 1 2 3 import numpy as npdata = np.arange(10 , 16 , 2 ) print (data)
# 有连续间隔的数组也可以称为线性等分向量 ,在一个指定区间内按照指定的步长,将区间均等分,生成的是一个线段类型的数组。生成的线性间隔数据中,是有把区间的两端加进去的
连续间隔数组 1 2 3 import numpy as npdata= np.linspace(1 , 10 , 20 )
# 随机数组数据数值是 ( 0 , 1 ) (0, 1) ( 0 , 1 ) 之间的实数
随机数组 1 2 import numpy as npdata = np.random.rand(3 , 4 )
自定义数据范围
随机数组 1 2 import numpy as npdata=np.random.randint(2 , 5 ,size=(4 ,5 ));
# 改变数组形状例如:你本来有一个 a a a 行 b b b 列的数组,你可以把它改成为 c c c 行 d d d 列的数组(前提是: ab = cd
) 注意:因为数组中元素是没有改变的,所以重塑数组指定的尺寸大小是否和原本的尺寸大小一样,大一点和小一点都会报错。r e s h a p e reshape r e s h a p e 本质就是原本数组中的元素按顺序展开来,然后依次填入新定义的尺寸中去 。注意 r e s h a p e reshape r e s h a p e 后面填的是元组数据类型
改变数组形状 1 2 3 4 5 6 7 8 9 10 import numpy as npdata1=[1 , 2 , 3 , 4 , 5 ] data2=[1 , 2 , 3 , 4 , 5 ] data=np.array([data1, data2]) print ("改之前的数组形状为:" )print (data.shape) data=data.reshape((5 , 2 )) print ("改之后的数组形状为:" )print (data.shape)
# 数组转置
转置 1 2 3 4 5 6 7 8 import numpy as npdata = [[1 , 2 , 3 ], [4 , 5 , 6 ], [7 , 8 , 9 ]] data_array = np.array(data) print ("没有转置数组之前数组为:" )print (data)print ("转置数组之后数组为:" )print (data_array.T)
# 数组显示操作# 数组维度 ndimdata.ndim
:这个数组是几乘几 . . . ... . . . 乘几的
# 数组形状data.shape
:可以理解成各个方向的维度
# 元素个数data.size
:字面意思
# 数据类型data.dtype
# 数组运算# 加法
加法 1 2 3 4 import numpy as nparray1 = np.array([1 , 2 , 3 ]) array2 = np.array([4 , 5 , 6 ]) result = array1 + array2
# 乘法
乘法 1 2 3 4 import numpy as nparray1 = np.array([1 , 2 , 3 ]) array2 = np.array([4 , 5 , 6 ]) result = array1 * array2
# 数组数据统计
数据统计 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 import numpy as npdata = np.random.rand(5 , 6 ) ave = np.mean(data, axis=1 , dtype=int )
# 数组切片# 一维数组切片下标从 0 0 0 开始,左闭右开
一维数组切片 1 2 3 import numpy as nparr = np.array([1 , 2 , 3 , 4 , 5 ]) print (arr[1 : 4 ])
# 多维数组切片一维一维地来就行
# 行切片
# 列切片
# 数组堆叠# 垂直堆叠
垂直堆叠 1 stacked = np.vstack((array1, array2))
# 水平堆叠
水平堆叠 1 stacked = np.hstack((array1, array2))
# 保存和加载数组# 保存数组到文件
保存数组到文件 1 np.save('my_array.npy' , data)
# 加载数组
加载数组 1 loaded_data = np.load('my_array.npy' )