当前位置: 首页> 汽车> 行情 > 网站编辑教程_全屋定制品牌推荐_网站建站方式有哪些_产品软文范例500字

网站编辑教程_全屋定制品牌推荐_网站建站方式有哪些_产品软文范例500字

时间:2025/7/11 19:26:59来源:https://blog.csdn.net/ank1983/article/details/146045830 浏览次数: 0次
网站编辑教程_全屋定制品牌推荐_网站建站方式有哪些_产品软文范例500字

np.vstack 是 NumPy 中的一个函数,用于将多个数组沿垂直方向(行方向)堆叠。它可以处理 二维列表二维矩阵,但它们之间有一些关键区别。以下是详细说明:


1. 二维列表

  • 定义:

    • 二维列表是 Python 原生的数据结构,是一个列表的列表。
    • 例如:
      list_2d = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
      
    • 它是一个嵌套的列表结构,每个子列表代表一行数据。
  • 特点:

    • 不是 NumPy 数组,因此不支持 NumPy 的向量化操作(如广播、数学运算等)。
    • 灵活性高,可以存储不同类型的数据(如整数、字符串等)。
    • 内存效率较低,适合小规模数据。
  • 使用 np.vstack:

    • np.vstack 可以将多个二维列表堆叠成一个二维数组。
    • 例如:
      import numpy as np
      list_2d_1 = [[1, 2, 3], [4, 5, 6]]
      list_2d_2 = [[7, 8, 9], [10, 11, 12]]
      result = np.vstack((list_2d_1, list_2d_2))
      print(result)
      
      输出:
      [[ 1  2  3][ 4  5  6][ 7  8  9][10 11 12]]
      

2. 二维矩阵

  • 定义:

    • 二维矩阵是 NumPy 的 ndarray 对象,是一个二维数组。
    • 例如:
      matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
      
    • 它是一个连续的内存块,支持高效的数值计算。
  • 特点:

    • 是 NumPy 数组,支持向量化操作(如广播、数学运算等)。
    • 内存效率高,适合大规模数值计算。
    • 所有元素必须是相同的数据类型。
  • 使用 np.vstack:

    • np.vstack 可以将多个二维矩阵堆叠成一个更大的二维矩阵。
    • 例如:
      import numpy as np
      matrix_1 = np.array([[1, 2, 3], [4, 5, 6]])
      matrix_2 = np.array([[7, 8, 9], [10, 11, 12]])
      result = np.vstack((matrix_1, matrix_2))
      print(result)
      
      输出:
      [[ 1  2  3][ 4  5  6][ 7  8  9][10 11 12]]
      

3. np.vstack 的区别

  • 输入类型:

    • np.vstack 可以接受二维列表或二维矩阵作为输入。
    • 如果输入是二维列表,np.vstack 会将其转换为 NumPy 数组后再堆叠。
    • 如果输入是二维矩阵,np.vstack 直接进行堆叠。
  • 输出类型:

    • 无论输入是二维列表还是二维矩阵,np.vstack 的输出始终是 NumPy 二维数组(ndarray)。
  • 性能:

    • 对于二维矩阵,np.vstack 的性能更高,因为 NumPy 数组是连续的内存块。
    • 对于二维列表,np.vstack 需要先将其转换为 NumPy 数组,因此性能稍低。

4. 总结

特性二维列表二维矩阵(NumPy 数组)
定义列表的列表NumPy 的 ndarray 对象
数据类型可以存储不同类型的数据所有元素必须是相同的数据类型
内存效率较低较高
数值计算支持不支持向量化操作支持向量化操作(如广播、数学运算)
np.vstack 输入可以接受可以接受
np.vstack 输出转换为 NumPy 数组后堆叠直接堆叠

示例对比

输入为二维列表
import numpy as np
list_2d_1 = [[1, 2, 3], [4, 5, 6]]
list_2d_2 = [[7, 8, 9], [10, 11, 12]]
result = np.vstack((list_2d_1, list_2d_2))
print(result)

输出:

[[ 1  2  3][ 4  5  6][ 7  8  9][10 11 12]]
输入为二维矩阵
import numpy as np
matrix_1 = np.array([[1, 2, 3], [4, 5, 6]])
matrix_2 = np.array([[7, 8, 9], [10, 11, 12]])
result = np.vstack((matrix_1, matrix_2))
print(result)

输出:

[[ 1  2  3][ 4  5  6][ 7  8  9][10 11 12]]

总结

  • 二维列表 是 Python 原生的数据结构,灵活但效率较低。
  • 二维矩阵 是 NumPy 的 ndarray,适合高效的数值计算。
  • np.vstack 可以处理两者,但输入为二维矩阵时性能更高。
关键字:网站编辑教程_全屋定制品牌推荐_网站建站方式有哪些_产品软文范例500字

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: