Numpy基本操作——numpy中数组的基本操作
文章目录
一、实验目的
熟练掌握numpy中数组的基本操作
二、实验原理
NumPy简介
NumPy是用Python进行科学计算的基本软件包。它包含以下内容:
一个强大的N维数组对象
复杂的(广播)功能
用于集成C/C++和Fortran代码的工具
有用的线性代数,傅里叶变换和随机数能力
用于读写磁盘数据以及操作内存映射文件的工具
NumPy是一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。
NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA用其处理一些本来使用C++,Fortran或Matlab等所做的任务。
numpy的核心结构:ndarray(多维数组)
NumPy.ndarray函数
三、实验环境
Python 3.6.1以上
Jupyter
四、实验内容
练习numpy中数组与数值运算操作。
练习numpy中数组与数组运算操作。
练习numpy中数组变形操作。
练习numpy中数组转置操作。
练习numpy中数组排序操作。
五、实验步骤
1.数组与数值运算操作
1.创建一个大小为5,从1到5的整型一维数组对象x.
x=np.array([1,2,3,4,5])
print(x)
2.数组x与数值2进行相乘运算,查看返回的新数组。
x*2
3.数组x对数值2进行相除运算,查看返回的新数组。
x/2
4.数组x对数值2进行整除运算,查看返回的新数组.
x//2
5.数组x对数值3的幂运算,查看返回的新数组。
x**3
6.数组x与数值2相加,查看返回的新数组。
x+2
7.数组x对数值3进行取余运算,查看返回的新数组。
x%3
8.数值2对数组x的幂运算,查看返回结果。
2**x
2.数组与数组运算操作
1.使用array函数将元组(1,2,3)创建成数组a,将包含3个列表的元组([1, 2, 3], [4, 5, 6], [7, 8, 9])创建成数组b。
a=np.array((1,2,3))
b=np.array(([1,2,3],[4,5,6],[7,8,9]))
print("array a:\n",a)
print("array b:\n",b)
2.数组a与数组b相乘,将包含结果的新数组赋值给c,查看数组c的结果,可以看出数组a与数组b每行对应项相乘。
c=a*b
print(c)
3.数组c除以数组b,查看结果数组的值,可看出数组c与数组b对应位置的值相除。
c/b
4.数组a与数组a相加,查看结果数组,可以看出是对应项相加。
a+a
5.数组a与数组a相乘,查看结果数组,可以看出是对应项相乘。
a*a
6.数组a与数组a相减,查看结果数组,可以看出是对应项相减。
a-a
7.数组a与数组a相除,查看结果数组,可以看出是对应项相除。
a/a
3.数组变形操作
1.使用ravel函数来实现展平操作。
array1=np.array([[[0,1,2,3],[4,5,6,7],[8,9,10,11]],[[12,13,14,15],[16,17,18,19],[20,21,22,23]]])
array1.ravel()
2.flatten,功能与ravel函数相同,不过flatten会请求分配内存来保存结果,而ravel函数只是返回数组的一个视图。
array1=np.array([[[0,1,2,3],[4,5,6,7],[8,9,10,11]],[[12,13,14,15],[16,17,18,19],[20,21,22,23]]])
array1.flatten()
3.shape函数用于设置数组维度,给其赋予一个元组数值,修改的是数组本身。
array1=np.array([[[0,1,2,3],[4,5,6,7],[8,9,10,11]],[[12,13,14,15],[16,17,18,19],[20,21,22,23]]])
array1.shape=(6,4)
print(array1)
4.reshape方法用于修改数组的形状,返回一个修改完的新数组,原来的数组没有被修改。
array1=np.array([[[0,1,2,3],[4,5,6,7],[8,9,10,11]],[[12,13,14,15],[16,17,18,19],[20,21,22,23]]])
array2=array1.reshape(6,4)
print("array1:\n",array1)
print("array2:\n",array2)
5.resize:方法用于修改数组的形状,无返回值,即会对原始多维数组进行修改。
array1=np.array([[1,2,3],[4,5,6]])
array1
array1.resize((3,2))
array1
4.数组转置操作
1.使用array函数将元组([1, 2, 3], [4, 5, 6], [7, 8, 9])创建成一个数组b。
b=np.array(([1,2,3],[4,5,6],[7,8,9]))
print(b)
2.使用T对数组b进行转置,将数组b的行与列的值对换。
b.T
3.一维数组转置还是一维数组。创建一个1到4的整型数组a,对a进行转置。
a=np.array((1,2,3,4))
print(a)
a.T
5.数组排序操作
数组排序:列排列np.msort(a),行排列np.sort(a),np.argsort(a)排序后返回下标
1.np.argsort()排序后返回下标,创建一个值为[3,1,2]的数组x,使用argsort函数对数组x进行排序,返回原数组从小到大的元素下标组成的数组index_array。
x=np.array([3,1,2])
index_array=np.argsort(x)
print(index_array)
将index_array带入到数组x中,将排序后的数组元素输出。
2.使用sort方法对数组进行原地排序。
x=np.array([[0, 3, 4], [2, 2, 1]])
x.sort()
print(x)
3.np.msort()相当于np.sort(axis=0),使用numpy中的msort函数,对数组x进行纵向排序。
x=np.array([[0, 3, 4], [2, 2, 1]])
np.msort(x)
总结
以上就是本文要讲的内容,本文介绍了练习numpy中数组与数值运算操作、数组与数组运算操作、数组变形操作、数组转置操作、数组排序操作。