Python下基于Numpy库的多维数组
admin
2023-07-30 20:14:10
0

NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。

例如,在3D空间一个点的坐标[1, 2, 3]是一个秩为1的数组,因为它只有一个轴。那个轴长度为3.又例如,在以下例子中,数组的秩为2(它有两个维度).第一个维度长度为2,第二个维度长度为3.

[[ 1., 0., 0.],
[ 0., 1., 2.]]
NumPy的数组类被称作ndarray。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。

重要ndarray对象属性有:

ndarray.ndim
返回数组轴的个数,在python的世界中,轴的个数被称作秩;
ndarray.shape
返回数组的维度。这是一个指示数组在每个维度上大小的整数元组。例如一个n排m列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性;
ndarray.size
返回数组元素的总个数,等于shape属性中元组元素的乘积;
ndarray.dtype
返回一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。另外NumPy提供它自己的数据类型;
创建数组的方法:

numpy.array建立普通数组
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
object-创建的序列对象[]
dtype-数据类型:none、float、int64等
copy -可选,默认为true,对象是否被复制
order- ‘C’为按行的 C 风格数组,’F’为按列的 Fortran 风格数组,’A’为任意
subok- 默认情况下,返回的数组被强制为基类数组。 如果为true,则返回子类
ndimin-指定返回数组的最小维数

numpy.empty 建立空数组
numpy.empty(shape, dtype = , order = ”)

shape-数组的形状:[几行,几列]

  • numpy.zeros 建立全零数组

numpy.zeros(shape, dtype = float, order = ‘C’)
numpy.ones 建立全一数组
numpy.ones(shape, dtype = float, order = ‘C’)
数组的添加/删除操作:

numpy.resize 返回指定大小的新数组。 如果新大小大于原始大小,则包含原始数组中的元素的重复副本
numpy.resize(arr, shape)
arr:要修改大小的输入数组
shape:返回数组的新形状(几行,几列)

numpy.append 在输入数组的末尾添加值。 附加操作不是原地的,而是分配新的数组。 输入数组的维度必须匹配
numpy.append(arr, values, axis)
arr:输入数组
values:要向arr添加的值,比如和arr形状相同(除了要添加的轴)
axis:定义进行操作的轴方向。如果没有提供,两个参数都会被展开 列方向为1,行方向为0

numpy.insert 在给定索引处,沿给定轴在输入数组中插入值。 如果值的类型转换为要插入,则它与输入数组不同。 插入没有原地的,函数会返回一个新数组。 此外,如果未提供轴,则输入数组会被展开。
numpy.insert(arr, obj, values, axis)
arr:输入数组
obj:在其之前插入值的索引
values:要插入的值
axis:沿着它插入的轴,如果未提供,则输入数组会被展开

numpy.delete
Numpy.delete(arr, obj, axis) 返回从输入数组中删除指定子数组的新数组
arr:输入数组
obj:可以被切片,整数或者整数数组,表明要从输入数组删除的子数组
axis:沿着它删除给定子数组的轴,如果未提供,则输入数组会被展开

相关内容

用python复制一个文件...
在Python中,你可以使用shutil模块来复制文件,并使用ti...
2024-06-12 15:14:26
ADB Python-Da...
当使用ADB Python-Daemon库时,如果子进程无法连接,...
2024-05-24 01:17:39
ADAL python 支...
要实现ADAL Python支持Windows登录用户,可以按照以...
2024-05-24 00:23:06
ADAL for Pyth...
在ADAL for Python中,可以使用TokenCache类...
2024-05-24 00:21:15
Adafruit的TLC5...
目前,Adafruit 的TLC5947没有官方的 Micropy...
2024-05-24 00:20:23
Adafruit QT P...
如果Adafruit QT PY ESP32-S2被卡在Circu...
2024-05-24 00:20:09

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 常见... 什么是 Apache Doris Apache Doris 是一款 MPP 架构的 OLAP 列式存...
Vmware简易安装ubunt... 大晚上的折腾死我了VMware安装ubuntu,用简易安装结果设置的用户名密码死活进不去再重装一次,...
‘WebDriver‘ obj... selenium库报错"‘WebDriver’ object has no attribute ‘f...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
WiFi中继器和WiFi扩展器... WiFi中继器以无线方式连接到 WiFi 网络并重新广播信号。它就像一个中继系统,连接到我们的 Wi...