【问题标题】:How to split numpy array into single values? [duplicate]如何将numpy数组拆分为单个值? [复制]
【发布时间】:2019-01-11 12:19:22
【问题描述】:

所以我目前有一个像

这样的 numpy 数组
[[0, 1, 2, 3, 4]]

但我希望它是

[[0],[1],[2],[3],[4]]

有没有一种列表理解方法可以做到这一点?

【问题讨论】:

  • a.reshape(-1, 1)

标签: python numpy


【解决方案1】:

使用reshape 或翻译T 你可以这样做:

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

a.reshape(a.size, 1)

a.T

结果是:

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

【讨论】:

    【解决方案2】:

    你的第一个数组可以由

    创建
    array1 = np.arange(5).reshape((1,5))
    

    打印array1

    [[0 1 2 3 4]]
    

    你可以用

    重塑它
    array2 = array1.reshape((5,1))
    

    打印出来的

    [[0]
     [1]
     [2]
     [3]
     [4]]
    

    或者,正如@LucaCappelletti 在我之前输入的那样,

    array2 = array1.T
    

    T 的意思是“转置”,交换二维矩阵的列和行。如果array1 不只是您认为的那样,这更简单但更容易出错。还有一种方法是

    array2 = array1.transpose()
    

    基本上是T的同义词。

    【讨论】:

      【解决方案3】:

      我听到你说列表理解 :) 给你

      a = [[0, 1, 2, 3, 4]]
      a_new = [[i] for i in a[0]]
      print (a_new)
      

      【讨论】:

      • 谁在反对 OP 特别要求的解决方案。如果是关于listarray 定义a,那没有理由拒绝投票。没有推理就投反对票是不成熟的。 OP 明确要求 列表理解方法
      猜你喜欢
      • 2013-10-29
      • 1970-01-01
      • 2016-04-22
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多