(、n)の形でndarraysのndarrayから特定の要素を取得します:ndarray考える
として表示さ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.])
ありがとう、これは2つの答えの中で最速です。まだ私が望むほど速くはありませんが、私の素朴なアプローチよりもはるかに改善しました。 – jmc
@jmc元のアプローチよりも改善されていると嬉しいです。 – Divakar