软件测试|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的数据类型。

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

相关文章
|
2天前
|
Python
SciPy 教程 之 SciPy 模块列表 6
SciPy教程之常量模块介绍:涵盖公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率及力学单位。示例展示了角度单位转换为弧度的几个常用常量。
13 7
|
2天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
12 6
|
1天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
6 1
|
1天前
|
Python
SciPy 教程 之 SciPy 模块列表 8
SciPy教程之常量模块单位类型介绍。该模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例展示了部分长度单位的转换值,例如英寸、英尺、海里等。
9 1
|
3天前
|
知识图谱 Python
SciPy 教程 之 SciPy 模块列表 5
本教程介绍SciPy常量模块中的单位类型,涵盖公制、质量、时间、长度等单位。示例代码展示了如何使用`scipy.constants`模块获取不同质量单位的千克值,如公吨、磅、盎司、原子质量单位等。
9 1
|
1天前
|
Python
SciPy 教程 之 SciPy 模块列表 11
SciPy教程之SciPy模块列表11:单位类型。常量模块包含公制单位、质量单位、角度换算、时间单位、长度单位、压强单位、体积单位、速度单位、温度单位、能量单位、功率单位、力学单位等。体积单位示例展示了不同体积单位的换算,如升、加仑、流体盎司、桶等。
6 0
|
1天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy 教程之 SciPy 模块列表:常量模块包含多种单位类型,如公制单位、质量单位、时间单位等。压强单位部分展示了如何将不同单位转换为帕斯卡,例如 psi 转换为 6894.757293168361 帕斯卡。
8 0
|
存储 JSON 数据格式
Python科学计算结果的存储与读取
Python科学计算结果的存储与读取 Python科学计算结果的存储与读取 总结于2019年3月17日  荆楚理工学院计算机工程学院 一、前言 显然,作为一名工科僧,执行科学计算,着用Python,快忘记Matlab吧。
1636 0
|
3天前
|
安全 数据处理 开发者
Python中的多线程编程:从入门到精通
本文将深入探讨Python中的多线程编程,包括其基本原理、应用场景、实现方法以及常见问题和解决方案。通过本文的学习,读者将对Python多线程编程有一个全面的认识,能够在实际项目中灵活运用。
|
3天前
|
弹性计算 安全 小程序
编程之美:Python让你领略浪漫星空下的流星雨奇观
这段代码使用 Python 的 `turtle` 库实现了一个流星雨动画。程序通过创建 `Meteor` 类来生成具有随机属性的流星,包括大小、颜色、位置和速度。在无限循环中,流星不断移动并重新绘制,营造出流星雨的效果。环境需求为 Python 3.11.4 和 PyCharm 2023.2.5。
22 9