【发布时间】:2023-03-23 12:50:01
【问题描述】:
我有一个 numpy 数组 arr1 它是函数的输出。该数组具有由 numpy 数组中的每个元素被转换为 numpy 数组本身引起的“额外”维度。
arr1.shape 输出(100, 20, 1)
如果我打印数组,print(arr1[0]) 输出
array([[-212537.61715316],
[ 7258.38476409],
[ 37051.91250884],
[-146278.00512207],
[-185792.24620168],
[-200794.59538468],
[-195981.27879612],
[-177912.26034464],
[-152212.805867 ],
[-118873.26452198],
[ -64657.64682999],
[ 306884.11196766],
[-191073.9891907 ],
[-104992.44840277],
[ -67834.43041102],
[ -21810.77063542],
[ 17307.24511071],
[ 55607.49775471],
[ 91259.82533592],
[ 119207.40589797]])
如果我用arr1.reshape((100,20)) 重塑,我会得到print(arr1.reshape((100,20))[0]) 的以下输出:
array([-212537.61715316, 7258.38476409, 37051.91250884,
-146278.00512207, -185792.24620168, -200794.59538468,
-195981.27879612, -177912.26034464, -152212.805867 ,
-118873.26452198, -64657.64682999, 306884.11196766,
-191073.9891907 , -104992.44840277, -67834.43041102,
-21810.77063542, 17307.24511071, 55607.49775471,
91259.82533592, 119207.40589797])
我的问题是:如何排除这个“额外”的,但保留数组arr1 的原始形状?
使用.reshape()的最佳方法是什么?如果没有,最好的方法是什么?
【问题讨论】:
-
我想你在找numpy.squeeze
-
"我如何排除这个“额外的”,但保留数组 arr1 的原始形状" - 你想改变形状,但保留原始形状?你似乎在与自己作对。您要保留的原始数组确切地说是什么?
-
@user2357112 我可能不清楚。让我编辑上面的内容。我是说我的原始数组是一个数组,其中每个浮点数本身就是一个数组。这并不理想。将每个元素转换为浮点数的“标准 Python”方法是什么?