鑑於ndarray:獲取特定元素(N,)
A = np.array([np.array([1], dtype='f'),
np.array([2, 3], dtype='f'),
np.array([4, 5], dtype='f'),
np.array([6], dtype='f'),
np.array([7, 8, 9], dtype='f')])
其作爲顯示:
A
array([array([ 1.], dtype=float32), array([ 2., 3.], dtype=float32),
array([ 4., 5.], dtype=float32), array([ 6.], dtype=float32),
array([ 7., 8., 9.], dtype=float32)], dtype=object)
我試圖創建從所述第一元素的數組爲了向你展示我的意思,下面是創建我想要使用循環的數組的一些代碼。我想盡可能有效地達到同樣的效果,因爲我的數組A很大(約50000個條目),我需要多次執行操作。
B = np.zeros(len(A))
for i, val in enumerate(A):
B[i] = val[0]
B
array([ 1., 2., 4., 6., 7.])
謝謝,這是兩個答案中最快的。仍然沒有我想要的那麼快,但肯定比我天真的方法有所改進。 – jmc
@jmc很高興聽到這是對原始方法的改進,真棒! – Divakar