软件测试|Python科学计算神器numpy教程(一)

举报
霍格沃兹测试开发 发表于 2023/06/19 18:18:07 2023/06/19
【摘要】 前言之前我们使用matplotlib绘制了不一样的图形,其实在我们的绘制图像时,我们输入的数据都是经过处理之后再通过matplotlib以及pillow进行绘制的。我们在绘制图形的脚本里,引入了一个对数组执行数学运算和相关逻辑运算的第三方库——Numpy,当然numpy功能不止于此,它还是python科学计算的基础库,现在我们就来介绍一下numpy的使用。 安装因为numpy是Python...

前言

之前我们使用matplotlib绘制了不一样的图形,其实在我们的绘制图像时,我们输入的数据都是经过处理之后再通过matplotlib以及pillow进行绘制的。我们在绘制图形的脚本里,引入了一个对数组执行数学运算和相关逻辑运算的第三方库——Numpy,当然numpy功能不止于此,它还是python科学计算的基础库,现在我们就来介绍一下numpy的使用。

安装

因为numpy是Python的第三方库,所以我们需要自行安装,安装完成之后才可以使用,安装只需要一条命令:

pip install numpy  

注:numpy通常会结合SciPy 程序包一起使用,SciPy 可以看做对 NumPy 库的扩展,它在 NumPy 的基础上又增加了许多工程计算函数。

Numpy ndarray对象

NumPy 定义了一个 n 维数组对象,简称 ndarray 对象,它是一个一系列相同类型元素组成的数组集合。数组中的每个元素都占有大小相同的内存块,您可以使用索引或切片的方式获取数组中的每个元素。

ndarray 对象采用了数组的索引机制,将数组中的每个元素映射到内存块上,并且按照一定的布局对内存块进行排列,常用的布局方式有两种,即按行或者按列。

创建ndarray对象

Numpy提供了内置函数array()来创建ndarray,语法格式如下:

numpy.array(object, dtype = None, copy = True, order = None,ndmin = 0)

参数说明:

参数 描述说明
object 表示一个数组序列
dtype 可选参数,通过它可以更改数组的数据类型
copy 可选参数,表示数组能否被复制,默认是 True
order 以哪种内存布局创建数组,有 3 个可选值,分别是 C(行序列)/F(列序列)/A(默认)
ndim 用于指定数组的维度

创建一维数组

import numpy as np

a = np.array([11, 10, 9])
print(a)
print(type(a))

-------------------------
输出结果如下:
[11 10  9]
<class 'numpy.ndarray'>

创建多维数组

import numpy as np

a = np.array([[11, 10, 9],[6, 7, 8]])
print(a)
print(type(a))

---------------
输出结果如下:

[[11 10  9]
 [ 6  7  8]]
<class 'numpy.ndarray'>

改变数组元素的数据类型,可以使用设置 dtype

c=numpy.array([2,4,6,8],dtype=“数据类型名称”)

现在我们将数组中的元素改为字符串类型,如下:

import numpy as np

c=np.array([2,4,6,8],dtype="str")
print(c)

-------------------
输出结果如下:
['2' '4' '6' '8']

查看数组维数

我们可以通过ndim查看数组的维度

import numpy as np
arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]])
print(arr.ndim) 

--------------------
输出结果如下:
2

创建指定维度数组

使用 ndim 参数可以创建不同维度的数组

import numpy as np
a = np.array([1, 2, 3,4,5], ndim = 2)
print(a)
------------------------------------
输出结果如下:
[[1 2 3 4 5]]

数组变维

数组的形状指的是多维数组的行数和列数。Numpy 模块提供 reshape() 函数可以改变多维数组行数和列数,从而达到数组变维的目的,如下图:

image.png

reshape() 函数可以接受一个元组作为参数,用于指定了新数组的行数和列数,示例如下:

import numpy as np
e = np.array([[11,12],[13,14],[15,16]])
print("原数组",e)
e=e.reshape(2,3)
print("新数组",e)

----------------------------
输出结果如下:
原数组 [[11 12]
 [13 14]
 [15 16]]
新数组 [[11 12 13]
 [14 15 16]]

总结

本文主要介绍了numpy模块的安装以及数组的一些常用方法,后续我们将介绍numpy的数据类型。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。