Numpy基本操作——numpy中数组的基本操作

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中数组与数值运算操作、数组与数组运算操作、数组变形操作、数组转置操作、数组排序操作。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i阿极

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值