找回密码
 立即注册
查看: 369|回复: 0

[其它] Python - np.hstack()和np.vstack函数详解和示例

[复制链接]

224

主题

0

回帖

773

积分

高级会员

积分
773
发表于 2024-7-5 19:31:57 | 显示全部楼层 |阅读模式
本帖最后由 御坂主机 于 2024-7-6 16:06 编辑

1. 简介

Python中,NumPy库是进行数值计算的强大工具。`np.hstack()`和`np.vstack()`是NumPy中用于数组拼接的两个重要函数。本文将详细介绍这两个函数的使用方法,并通过示例帮助读者更好地理解它们的功能。

1.1 NumPy库简介

NumPy是Python中一个用于科学计算的库。它提供了支持多维数组对象、高效的操作函数和丰富的数学库。NumPy是数据科学和机器学习的基础工具之一。

2. np.hstack()函数

`np.hstack()`函数用于在水平方向上(按列顺序)拼接数组。它接受一个数组列表作为输入,并返回一个新的数组。

2.1 语法

  1. np.hstack(tup)
复制代码


`tup`:需要拼接的数组组成的元组。

2.2 示例

考虑以下两个数组:

  1. import numpy as np

  2. a = np.array([[1, 2, 3], [4, 5, 6]])
  3. b = np.array([[7, 8, 9], [10, 11, 12]])
复制代码


使用`np.hstack()`将它们拼接在一起:

  1. result = np.hstack((a, b))
  2. print(result)
复制代码


输出结果为:

  1. [[ 1  2  3  7  8  9]
  2. [ 4  5  6 10 11 12]]
复制代码


2.3 使用场景

`np.hstack()`通常用于将多个具有相同行数的数组拼接在一起。例如,在数据预处理中,可以将多个特征数组拼接成一个大的特征数组。

3. np.vstack()函数

`np.vstack()`函数用于在垂直方向上(按行顺序)拼接数组。它也接受一个数组列表作为输入,并返回一个新的数组。

3.1 语法

  1. np.vstack(tup)
复制代码


`tup`:需要拼接的数组组成的元组。

3.2 示例

考虑以下两个数组:

  1. import numpy as np

  2. a = np.array([[1, 2, 3], [4, 5, 6]])
  3. b = np.array([[7, 8, 9], [10, 11, 12]])
复制代码


使用`np.vstack()`将它们拼接在一起:

  1. result = np.vstack((a, b))
  2. print(result)
复制代码


输出结果为:

  1. [[ 1  2  3]
  2. [ 4  5  6]
  3. [ 7  8  9]
  4. [10 11 12]]
复制代码


3.3 使用场景

`np.vstack()`通常用于将多个具有相同列数的数组拼接在一起。例如,在数据预处理中,可以将多次实验的数据结果拼接在一起,形成一个大的数据集。

4. np.hstack()和np.vstack()的对比

4.1 相同点

(1) 都用于拼接数组。
(2) 都接受一个数组列表作为输入。
(3) 输入的数组必须具有相同的形状维度。

4.2 不同点

(1) `np.hstack()`在水平方向上拼接数组,`np.vstack()`在垂直方向上拼接数组。
(2) 使用`np.hstack()`时,输入数组必须具有相同的行数;使用`np.vstack()`时,输入数组必须具有相同的列数。

5. 总结

本文详细介绍了NumPy库中的两个重要函数`np.hstack()`和`np.vstack()`,并通过示例展示了它们的使用方法和应用场景。在数据处理和分析过程中,合理使用这些函数可以大大提高工作效率。希望本文对您有所帮助,如果有任何疑问或建议,欢迎交流讨论。





------------------------------------------------------------------------------------------------------------------------------------------

========  御 坂 主 机  ========

>> VPS主机 服务器 前沿资讯 行业发布 技术杂谈 <<

>> 推广/合作/找我玩  TG号 : @Misaka_Offical <<

-------------------------------------------------------------------------------------------------------------------------------------------

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-4 13:53 , Processed in 0.061284 second(s), 24 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表