【问题标题】:convert numpy array of lists to array of int [duplicate]将numpy列表数组转换为int数组[重复]
【发布时间】:2022-07-07 16:44:03
【问题描述】:

我有一个由单个元素列表组成的二维 numpy 数组:

aaa = np.array(
[[ [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0] ],
 [ [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0], [0] ],
 [ [0], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4] ] ]
)

如何将内部列表转换为 int,这样我就有:

nnnn = np.array(
    [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
     [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
     [0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ]]
)

听起来很简单,但我尝试过的任何事情最终都会得到一个列表 或者我尝试将sum() 作为一种对列表中的值求和的技术,但最终只求和。

【问题讨论】:

标签: python arrays numpy


【解决方案1】:

你可以这样做:

nnnn = np.array([l.flatten() for l in aaa])

你也可以使用reshape:

nnnn = aaa.reshape(-1, aaa.shape[1])

甚至更简单:

nnnn = aaa[:,:,0]

【讨论】:

  • 或者只是aaa.reshape(arr.shape[:-1])
  • 或者更简单的aaa[:,:,0]
猜你喜欢
  • 1970-01-01
  • 2019-01-21
  • 1970-01-01
  • 2016-03-25
  • 2012-04-01
  • 2021-11-29
  • 2017-03-08
  • 1970-01-01
  • 2019-08-30
相关资源
最近更新 更多