python矩阵列拼接_numpy数组拼接简单⽰例
NumPy数组是⼀个多维数组对象,称为ndarray。其由两部分组成:
·实际的数据
·描述这些数据的元数据
⼤部分操作仅针对于元数据,⽽不改变底层实际的数据。
关于NumPy数组有⼏点必需了解的:
·NumPy数组的下标从0开始。
·同⼀个NumPy数组中所有元素的类型必须是相同的。
NumPy数组属性
在详细介绍NumPy数组之前。先详细介绍下NumPy数组的基本属性。NumPy数组的维数称为秩(rank),⼀维数组的秩为1,⼆维数组的秩为2,以此类推。在NumPy中,每⼀个线性的数组称为是⼀个轴(axes),秩其实是描述轴的数量。⽐如说,⼆维数组相当于是两个⼀维数组,其中第⼀个⼀维数组中每个元素⼜是
⼀个⼀维数组。所以⼀维数组就是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占⽤64个bits,每个字节长度为8,所以64/8,占⽤8个字节),⼜如,⼀个元素类型为complex32的数组item属性为4(32/8)。
6.ndarray.data:包含实际数组元素的缓冲区,由于⼀般通过数组的索引获取元素,所以通常不需要使⽤这个属性。
数组拼接⽅法⼀python获取数组长度
思路:⾸先将数组转成列表,然后利⽤列表的拼接函数append()、extend()等进⾏拼接处理,最后将列表转成数组。
⽰例1:
该⽅法只适⽤于简单的⼀维数组拼接,由于转换过程很耗时间,对于⼤量数据的拼接⼀般不建议使⽤。
数组拼接⽅法⼆
思路:numpy提供了numpy.append(arr,values,axis=None)函数。对于参数规定,要么⼀个数组和⼀个数值;要么两个数组,不能三个及以上数组直接append拼接。append函数返回的始终是⼀个⼀维数组。
⽰例2:
numpy的数组没有动态改变⼤⼩的功能,numpy.append()函数每次都会重新分配整个数组,并把原来的数组复制到新数组中。
数组拼接⽅法三
思路:numpy提供了atenate((a1,a2,...),axis=0)函数。能够⼀次完成多个数组的拼接。其中a1,a2,...是数组类型的参数
⽰例3:
对numpy.append()和atenate()两个函数的运⾏时间进⾏⽐较
⽰例4:
可知,concatenate()效率更⾼,适合⼤规模的数据拼接
总结
以上就是本⽂关于numpy数组拼接简单⽰例的全部内容,希望对⼤家有所帮助。如有不⾜之处,欢迎留⾔指出。感谢朋友们对本站的⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论