在Python编程和学习中,特别是在科学计算中,不可避免地要创建大量数组。为了将文本中的数据读取数组中,你还在编写读取程序吗?Numpy中数组创建函数一条命令就能帮你解决。

Python语言本身没有数组这种类型,Numpy包几乎是为Python数组量身定做的,也是Python中经典包之一。Numpy包集成了大量的函数用来创建各种数组,功能很强大,而我们往往忽略了这些函数。由于我们不知道Numpy的函数有哪些功能,而使用额外的代码来实现,浪费了时间和精力。函数太多,我们很难完全掌握,也没有必要掌握,但创建函数的组成和功能将对我们使用Numpy具有一定的帮助。

本文使用4张图介绍Numpy中创建数组的函数组成和功能。将从初始创建数组、现有数据创建、创建有数值范围的数组,矩阵,记录数组和字符数组等6个方面展开介绍。为初学者或者有需要的人提供参考。

ctypes python 数组创建 python创建数组的函数_ctypes python 数组创建

图1 Numpy数组创建函数组成

我们使用数组时经常要创建一些初始化值的数组。例如,可能要创建初始化值是999的数组,这时要使用Numpy包的full()函数来创建,另外Numpy还将常用的初始化值是0,1的值进行了单独集成。可以说full()是一个创建初始化值数组的一般方法。另外还提供了创建不含初始化值的数组函数,empty()。当然这个函数并不是没有值,只是未初始化,其中的值是内存原有的值,没有实际意义。另外还提供了创建单位矩阵函数。见图2。

ctypes python 数组创建 python创建数组的函数_Python_02

图2 Numpy初始创建数组函数组成

在进行科学计算中,大多数时候要将数据写入数组中。Numpy包在创建数组时集成了文本文件、函数计算、字符串和迭代对象等数据源,可以直接创建数组,使用非常方便,大大简化代码的编写。另外还能创建矩阵以及让数组在内存中连续存储,用来提高运算速度等。见图3.

ctypes python 数组创建 python创建数组的函数_初始化_03

图3 Numpy从现有数据创建数组的函数

在创建初始化数组时,有时我们需要创建具有一定数据规则的初始化数组。例如我们想创建数组的值是有序的整数,这要用到arrage()函数。另外Numpy还可以创建等差、等比,栅格化数据,随机数据等类型。需要说明的是,arange()函数可以说是linspace()函数创建等差序列数组的一种情况,而meshgrid()函数是创建栅格数据的一般函数。

ctypes python 数组创建 python创建数组的函数_ctypes python 数组创建_04

图4 Numpy创建数值范围数组的函数组成

Numpy可以进行矩阵运算,可以提取和创建对角矩阵、二维三角阵和范德蒙矩阵。其中tri()是创建三角阵的一般函数。另外Numpy集成了core类,可以实现记录的创建,字符数组的创建。通过文件,字符串和数组换成记录。

ctypes python 数组创建 python创建数组的函数_python创建字符串数组_05

图5 Numpy创建矩阵等数组函数

综上,Numpy包封装了创建带有初始化值的数组,根据现有数据创建,创建矩阵、记录和字符数组等方面函数。Numpy函数使用非常方便,通过Python的IDE工具的提示可以轻松使用,所以函数的具体用法我们没有必要去深究,只是待需要时再学习就可以了。我想这也是我整理这4张图的意义所在。如果这4张图对你有用可以收藏和转发。