首页 > 编程知识 正文

python 矩阵拼接,python处理矩阵

时间:2023-05-04 16:49:18 阅读:23717 作者:4507

NumPy数组是一个称为ndarray的多维数组对象。 它由以下两部分组成

实际数据

描述这些数据的元数据

大多数操作仅涉及元数据,而基础实际数据保持不变。

关于NumPy数组,我有一些需要知道的事情。

NumPy数组的下标从0开始。

同一NumPy数组中所有元素的类型必须相同。

NumPy数组属性

在详细说明NumPy序列之前。 首先,我们将详细介绍NumPy数组的基本属性。 如下类推: NumPy数组的维称为“秩”,一维数组的秩为1,二维数组的秩为2。 在NumPy中,每个路线的数组称为“轴”,而排名实际上表示轴的数量。 例如,二维阵列对应于两个一维阵列,其中第一个一维阵列的各元素也是一维阵列。 因此,一维数组是NumPy中的轴(axes ),第一个轴对应于基数组,第二个轴对应于基数组的数组。 轴的数量为——个等级,是数组的维数。

NumPy数组中重要的ndarray对象的属性如下:

1.ndarray.ndim :数组的维数,即数组轴数,等于秩。 最常见的是二维数组(矩阵)。

2.ndarray.shape :数组的维。 整数元组,表示每个维中数组的大小。 例如,二维数组表示数组的“行数”和“列数”。 ndarray.shape返回元组。 此元组的长度是维数,即ndim属性。

3.ndarray.size :数组元素的总数等于shape属性的元组元素的乘积。

4.ndarray.dtype :表示数组中元素类型的对象。 可以使用标准Python类型创建或指定dtype。 也可以使用上一篇文章中介绍的NumPy提供的数据类型。

5.ndarray.itemsize :数组中每个元素的字节大小。 例如,元素类型为float64的数组itemsiz属性值为8(float64占用bits,每个字节长度为8,因此64/8占用8字节),元素类型为complex32的数组item属性值为4 ) 32/8

6.ndarray.data :包含实际数组元素的缓冲区。 通常不需要使用此属性,因为通常从数组索引中检索元素。

排列的连接方法1

思路:首先将数组转换为列表,然后利用列表中的拼接函数append ()、extend () )等进行拼接处理,最后将列表转换为数组。

示例1 :

由于此方法仅适用于简单一维阵列拼接,且转换耗时,因此一般不推荐用于大量数据拼接。

排列的连接方法2

想法: numpy提供numpy.append(ARR,values,axis=None )函数。 参数化时,数组和数字中的任意两个数组,或者三个以上的数组不能直接用append连接。 append函数返回的始终是一维数组。

示例2 :

numpy数组没有动态调整大小的功能(numpy.append ) )函数每次都重新分配整个数组,并将原始数组复制到新数组中。

排列的连接方法3

想法: numpy提供numpy.concatenate((a1,a2,axis=0) )函数。 一次可以连接多个数组。 在此,a1、a2、是数组型的参数

示例3 :

比较numpy.append (和numpy.concatenate )两个函数的执行时间

示例4 :

可见,concatenate ()更高效,更适合大型数据拼接

总结

以上是本文numpy序列拼接的所有简单例子,希望对大家有帮助。 如果有不足的地方,请在评论中指出。 感谢朋友们对本站的支持!

原文链接: 3358 blog.csdn.net/zyl 1042635242/article/details/43162031

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。