Python数据分析之堆叠数组函数怎么使用(python,开发技术)

时间:2024-05-05 09:36:09 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    Python%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E5%A0%86%E5%8F%A0%E6%95%B0%E7%BB%84%E5%87%BD%E6%95%B0%E6%80%8E%E4%B9%88%E4%BD%BF%E7%94%A8

在做图像和 nlp 的数组数据处理的时候,经常需要实现两个数组堆叠或者连接的功能,这就需用到 numpy 库的一些函数,numpy 库中的常用堆叠数组函数如下:

stack : Join a sequence of arrays along a new axis.

hstack: Stack arrays in sequence horizontally (column wise).

vstack : Stack arrays in sequence vertically (row wise).

dstack : Stack arrays in sequence depth wise (along third axis).

concatenate : Join a sequence of arrays along an existing axis.

ravel() 方法可让将多维数组展平成一维数组。如果不指定任何参数,ravel() 将沿着行(第 0 维/轴)展平/拉平输入数组。

示例代码如下:

程序输出结果如下:

[[5.68301857 2.09696067 2.20833423 2.83964393]
[2.38957339 9.66254303 1.58419716 2.82531094]]

[5.68301857 2.09696067 2.20833423 2.83964393 2.38957339 9.66254303 1.58419716 2.82531094]

stack() 函数原型是 stack(arrays,axis=0,out=None),功能是沿着给定轴连接数组序列,轴默认为第0维。

1,参数解析:

arrays: 类似数组(数组、列表)的序列,这里的每个数组必须有相同的shape。

axis: 默认为整形数据,axis决定了沿着哪个维度stack输入数组。

2,返回:

stacked : ndarray 类型。The stacked array has one more dimension than the input arrays.

实例如下:

输出为:

[[1 3 4] [4 6 7]]

(2, 3)

[[[1 3 5] [5 6 9]] [[1 3 5] [5 6 9]]] (2, 2, 3)

可以看到,进行 stack 的两个数组必须有相同的形状,同时,输出的结果的维度是比输入的数组都要多一维的。我们拿第一个例子来举例,两个含 3 个数的一维数组在第 0 维进行堆叠,其过程等价于先给两个数组增加一个第0维,变为1*3的数组,再在第 0 维进行 concatenate() 操作:

输出为:

array([[1, 2, 3], [2, 3, 4]])

vstack函数原型是vstack(tup),功能是垂直的(按照行顺序)堆叠序列中的数组。tup是数组序列(元组、列表、数组),数组必须在所有轴上具有相同的shape,除了第一个轴。1-D arrays must have the same length.

array([[1, 2, 3], [2, 3, 4]])

array([[1], [2], [3], [2], [3], [4]])

hstack()的函数原型:hstack(tup) ,参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组。它其实就是**水平(按列顺序)**把数组给堆叠起来,与vstack()函数正好相反。举几个简单的例子:

array([1, 2, 3, 2, 3, 4])

array([[1, 2], [2, 3], [3, 4]])

vstack()和hstack函数对比:

这里的v是vertically的缩写,代表垂直(沿着行)堆叠数组,这里的h是horizontally的缩写,代表水平(沿着列)堆叠数组。 tup是数组序列(元组、列表、数组),数组必须在所有轴上具有相同的shape,除了第一个轴。

concatenate()函数功能齐全,理论上可以实现上面三个函数的功能,concatenate()函数根据指定的维度,对一个元组、列表中的list或者ndarray进行连接,函数原型:

array([[1, 2], [3, 4], [5, 6], [7, 8]])

注意:axis指定的维度(即拼接的维度)可以是不同的,但是axis之外的维度(其他维度)的长度必须是相同的。注意 concatenate 函数使用最广,必须在项目中熟练掌握。

本文:Python数据分析之堆叠数组函数怎么使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:numpy中hstack、vstack、stack和concatenate函数怎么使用下一篇:

6 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18