Numpy是一个Python库,用于处理多维数组和矩阵,以及针对这些数组执行数学运算的函数。它提供了高效的数组对象和相关的操作,可以用于快速处理大量数据。Numpy的主要功能包括:创建数组、数组运算、数组索引和切片、线性代数、随机数生成等。Numpy在科学计算、数据分析、机器学习等领域都广泛应用。
tips:(本博文在jupyter中实训)
目录
一、创建数组对象
我们可以利用Numpy库的array()函数,既可以创建ndarray数组,numpy库能将数据(列表、元组、数组或其他序列类型)转化为ndarray
1.array()函数来创建数组的对象
1.1列表(list)
import numpy as np #导入numpy库
List = [1,2,3,4]
L1= np.array(List)
print('L1:',L1)
1.2元组(tuple)
import numpy as np # 导入numpy库
Tuple = (2,0,2,4)
T1= np.array(Tuple)
print('T1:',T1)
1.3多维数组(multidimensional array)
import numpy as np # 导入numpy库
Marray = [[1,2,3,4],[2,0,2,4]]
M1 = np.array(Marray)
print('M1:',M1)
运行结果如下:
2. array()函数的主要参数及说明
array()函数的主要格式为:np.array(obj,dtype,ndmin)
参数 | 说明 |
object | 表示要创建的数组 |
dtype | 表示数组所需的数据类型,默认None |
ndmin | 生成数组应该具有的最小维数,默认None |
3.创建数组的函数(特有)
为了提高各位的工作效率,numpy贴心的提供了很多专门创建数组的函数
函数 | 说明 |
np.arange(n) | 相似于range()函数,返回ndarray类型,元素为0~n-1 |
np.eye(n) | 创建对角元素为1,其他元素为0的方阵 |
np.ones(shape) | 根据shape生成一个全1的数组,shape为元组类型 |
np.zeros(shape) | 根据shape生成一个全0的数组,shape为元组类型 |
np.full(shape,val) | 根据shape生成一个值全为val的矩阵 |
np.linspace() | 指定开始值、终值和元素个数,创建一维数组 |
np.logspace() | 指定开始值、终值和元素个数,创建一维等比数组 |
3.1 np.arange(n)
arr1= np.arange(20)
print(arr1)
#[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]
3.2 np.eye(n)
arr2 = np.eye(5)
print(arr2)
# [[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.]]
3.3 np.ones(shape)
arr3 = np.ones(4)
print(arr3)
#[1. 1. 1. 1.]
arr4 = np.ones([3,3])
print(arr4)
#[[1. 1. 1.]
#[1. 1. 1.]
# [1. 1. 1.]]
3.4 np.zeros(shape)
arr5 = np.zeros(4)
print(arr3)
# [1. 1. 1. 1.]
arr6 = np.zeros([3,3])
print(arr6)
# [[0. 0. 0.]
# [0. 0. 0.]
# [0. 0. 0.]]
3.5 np.full(shape,val)
arr7= np.full([3,3],6)
print(arr7)
# [[6 6 6]
# [6 6 6]
# [6 6 6]]
3.6 np.linspace()
arr8 =np.linspace(0,10,6)
print(arr8)
# [ 0. 2. 4. 6. 8. 10.]
3.7 np.logspace()
arr9=np.logspace(0,3,6)
print(arr9)
# [ 1. 3.98107171 15.84893192 63.09573445 251.18864315 1000.]
二、ndarray对象属性和数据转换
1.对象属性及说明
属性 | 说明 |
ndim | 数据轴个数 |
dtype | 数据类型 |
shape | 数据维度 |
itemsize | 数组中每个元素的字节数 |
size | 数组的元素个数 |
nbytes | 整个数组所需的字节数 |
arr10 = np.array([[3,5,8],[5,6,8]])
print(arr10.ndim)
print(arr10.dtype)
print(arr10.shape)
print(arr10.itemsize)
print(arr10.size)
print(arr10.nbytes)
# 2
# int32
# (2, 3)
# 4
# 6
# 24