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

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

前言

之前我们使用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的数据类型。

获取更多技术资料,请点击!

相关文章
|
4天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
32 8
|
4天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
22 7
|
4天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
22 4
|
4天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
21 5
|
27天前
|
Python
SciPy 教程 之 Scipy 显著性检验 9
SciPy 教程之 Scipy 显著性检验第9部分,介绍了显著性检验的基本概念、作用及原理,通过样本信息判断假设是否成立。着重讲解了使用scipy.stats模块进行显著性检验的方法,包括正态性检验中的偏度和峰度计算,以及如何利用normaltest()函数评估数据是否符合正态分布。示例代码展示了如何计算一组随机数的偏度和峰度。
25 1
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
60 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
73 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
259 7
Jmeter实现WebSocket协议的接口测试方法
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
271 3
快速上手|HTTP 接口功能自动化测试
|
3月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
56 5