gpt4 book ai didi

python - 将形状 (n,) 的数组转换为形状 (n,1) 的 numpy 数组

转载 作者:行者123 更新时间:2023-11-30 23:06:19 24 4
gpt4 key购买 nike

我有一个数组,是用 numpy 从 .npz 文件中读取的,它的形状我无法真正解释。

当我打印数组时,我得到以下形式的数字:

[1 2 3 2 1 8 9 8 3 4 ...]

没有任何逗号分隔它们

我想将此数组转换为维度为 (n,1) 的 numpy 数组,其中 n 是元素数,1 是列数。

有没有一种优雅的方式来做到这一点?

最佳答案

形状(n, )表示它是一个n长度的一维数组。如果您认为形状 (n, 1) 表示一个一维数组,那么它不是,(n,1) 表示一个包含 n 个子元素的二维数组数组,每个子数组有 1 个元素。

如果您真正想要的是形状为 (n, 1) 的数组,则可以将 ndarray.reshape() 与形状 (-1, 1) -

array.reshape((-1,1))

演示 -

In [64]: na
Out[64]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

In [65]: str(na)
Out[65]: '[0 1 2 3 4 5 6 7 8 9]'

In [66]: na.reshape((-1,1))
Out[66]:
array([[0],
[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9]])

In [67]: na.reshape((-1,1)).shape
Out[67]: (10, 1)

正如您所看到的,这会将数组从一维数组转变为二维数组,其中每个内部行(内部数组)仅包含 1 个元素。这可能不是您想要的。输出类似于 -

[1 2 3 2 1 8 9 8 3 4 ...]

只是 numpy 数组的 str() 结果,它确实意味着内部元素没有分隔。

关于python - 将形状 (n,) 的数组转换为形状 (n,1) 的 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32722843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com