美文网首页python
Python之一维数组的探讨: 维度是(n,)还是(n,1)?

Python之一维数组的探讨: 维度是(n,)还是(n,1)?

作者: Qiangest | 来源:发表于2021-07-10 16:19 被阅读0次

对于使用习惯matlab的人来说, 一维数组是一下很难理解的. 比如

A=[1;2;3;4]

这里的一维数组, 也可以说是4X1的二维数组.

但是python里并不这么认为, python里规定, 一维数组就是一维, 维度是(4,)不存在说是特殊的一维那种情况. 相反地, python里规定了一个matrix类, 对应着二维数组, 而且指定定义二维. (现在已经不推荐使用, 而是推荐不管多少维都统一使用array类).

因为对于数据处理来说, 很多情况下二维已经够用了. 所以matlab一般都是用二维. 那么我们可以想一下, 如果可以说A是一个4X1的特殊二维数组, 那为什么不说A是一个特殊的4X1X1的三维数组? 以此类推, 就解释不清了.

所以在python中, 一维就是一维, 对于一个一维数组

B=np.array([1,2,3,4])

来说, 无法取除了一维之外的其他属性:

B[2,0]
IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed

但是我们可以对于二维数组C:

C = B.reshape((4, 1))
array([[1],
       [2],
       [3],
       [4]])

C是一个(4,1)的二维矩阵, 可以取它的第二维属性:

C[2,0]
3

希望大家能够对此有所体会.

延伸阅读:

  1. 关于一维数组和二维数组的储存不同: Difference between numpy.array shape (R, 1) and (R,)
  2. Python中array和matrix计算的不同: What are the differences between numpy arrays and matrices? Which one should I use?
  3. Why Numpy has dimension (n,) instead of (n,1) only [duplicate]

相关文章

  • Python之一维数组的探讨: 维度是(n,)还是(n,1)?

    对于使用习惯matlab的人来说, 一维数组是一下很难理解的. 比如 这里的一维数组, 也可以说是4X1的二维数组...

  • 2019-03-21 数组几个不low操作

    1.扁平化n维数组 1.终极篇Array.flat(n)是ES10扁平数组的API,n表示维度,n值为Infini...

  • Numpy基础

    Numpy,也就是Numerical Python。Numpy的核心特征之一是N-维数组对象ndarray。下面代...

  • 多维数组的地址问题

    多维数组地址问题采取降维的思想,n维数组的元素为n-1维数组,n维数组名为其元素的首地址。 http://www....

  • NumPy

    Numpy简单创建数组 Numpy查看数组属性 数组元素个数 数组形状 数组维度 数组元素类型 快速创建N维数组的...

  • 科学计算-Numpy

    Numpy Numpy(Number Python):用Python实现的科学计算库包括:1.强大的N维数组对象a...

  • (01)numpy学习

    创建数组对象 axis为轴,n维数组有n个轴,axis的取值为1,2,3,4...,n 1、数组属性 arr.as...

  • (前端)面试300问之(1)数组扁平化[6种方法]

    一 问题 1 数组的扁平化? 1)就是将一个n层数组、即n维数组(n>=1)转换为只有一层的数组。 如数组 arr...

  • 数组

    数组 一维数组的存储 A[1:n] = ( a1, a2, a3, …, an-1, an),一维数组是典型的线性...

  • 李沐-动手学深度学习(二-1)数据操作

    1、n维数组 N维数组(也称为张量tensor)是机器学习和神经网络的主要数据结构。 2维:例如图中,三个样本,每...

网友评论

    本文标题:Python之一维数组的探讨: 维度是(n,)还是(n,1)?

    本文链接:https://www.haomeiwen.com/subject/tvbcpltx.html