Python:将2D数组转换为单独的数组



我读过一个numpy.ndarray,看起来像这样:

[[1.4600e-01 2.9575e+00 6.1580e+02]
 [5.8600e-01 4.5070e+00 8.7480e+02]]

让我们假设我正在读取的数组将而不是长度都是2。(例如,长度可以是1、3、456等)

我想把它分成两个独立的数组,像这样:

[[1.4600e-01 2.9575e+00 6.1580e+02]]
[[5.8600e-01 4.5070e+00 8.7480e+02]]

我以前尝试过搜索这个问题的解决方案,但这不是我正在寻找的解决方案:python转换2d数组为1d数组

因为您想提取这些行,所以您可以对它们建立索引。假设你的数组存储在变量x中。x[0]会给你第一行:[1.4600e-01 2.9575e+00 6.1580e+02],而x[1]会给你第二行:[5.8600e-01 4.5070e+00 8.7480e+02],等等。

您还可以遍历行,执行如下操作:

for row in x:
  # Do stuff with the row

如果您真的想要保留外部维度,您可以使用x[0].reshape((1,-1))重塑行,这表示将第一个维度设置为1(意味着它有1行),并从现有数据推断第二个维度。

或者,如果您想将一些行分成n组,您可以使用numpy.vsplit()函数:https://numpy.org/doc/stable/reference/generated/numpy.vsplit.html#numpy.vsplit

但是,我建议循环遍历这些行,而不是将它们分开,除非您确实需要将它们分开。