我有一個numpy數組arr1
它是一個函數的輸出。該數組具有由numpy數組內部的每個元素作爲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])
我的問題是:我如何排除這個「額外」的,但保留ar的原始形狀ray arr1
?
是最好的方法使用.reshape()
?如果不是,那麼做到這一點的最好方法是什麼?
我認爲你正在尋找[numpy.squeeze](http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.squeeze.html) – Christoph
「我該如何排除這個「額外」一個,但保留數組arr1的原始形狀「 - 您想更改形狀,但保持原始形狀?你似乎在與自己作對。什麼*精確*是關於你想保存的原始數組? – user2357112
@ user2357112我可能不清楚。讓我編輯上述內容。 我說我的原始數組是一個數組,其中每個浮點本身就是一個數組。這並不理想。什麼是「標準Python」方式將每個元素作爲一個浮點數來投射? – ShanZhengYang