私はPythonで作業しています。私はarrの長さLのnumpyの配列を持っています。arr = np.empty(L, dtype = object)
arrのすべてのエントリに別のnumpy配列が含まれていますが、それぞれが異なる長さののです(そのため、dtype = objectを使用したのはそのためです)。今私はarrに含まれるすべてのエントリを最も効率的に取り込み、1つの大きな1D numpy配列に入れたいと思っています。つまり、私はarray([arr[0,0], arr[0,1], arr[0,2], ... , arr[1,0], arr[0,1], ...])
という数字の配列をこの特定の順序で使用したいと思っています。 Pyhtonでこれを書く方法についての助け。異なる列長のnumpy行列のエントリを1Dの配列に入れます。
1
A
答えて
1
ネストされたリストを平坦化したいと思うように聞こえます。つまり、配列の配列は実質的にリストのリストです。そのため、標準のPythonイディオム、itertools.chain
があります:
配列のサンプル配列を作成します。
In [828]: arr = np.array([np.arange(i) for i in range(1, 5)])
In [829]: arr
Out[829]: array([array([0]), array([0, 1]), array([0, 1, 2]), array([0, 1, 2, 3])], dtype=object)
インポートおよび使用チェーンが。
In [830]: from itertools import chain
In [831]: list(chain(*arr))
Out[831]: [0, 0, 1, 0, 1, 2, 0, 1, 2, 3]
In [832]: np.array(_)
Out[832]: array([0, 0, 1, 0, 1, 2, 0, 1, 2, 3])
しかし、配列記述のリストはまた、我々はnp.concatenate
(またはnp.hstack
)を使用することができます示唆している:それはリストであるかのよう*arr
がarr
を拡大
In [837]: np.concatenate(arr)
Out[837]: array([0, 0, 1, 0, 1, 2, 0, 1, 2, 3])
concatenate
すなわち「リスト」をとり、例えばエンド・エンド(唯一の軸上)にジョインします。
In [841]: list(arr)
Out[841]: [array([0]), array([0, 1]), array([0, 1, 2]), array([0, 1, 2, 3])]
0
flatten()メソッドを試しましたか?私はそれがここで働くかもしれないと思う。
>>> arr = np.identity(5)
>>> arr.shape
(5, 5)
>>> arr = arr.flatten()
>>> arr.shape
(25,)
関連する問題
- 1. 2dのnumpyの配列で1dのnumpyの配列をブロードキャスト
- 2. 1d numpy配列を2d numpy配列に変換する方法
- 3. 1D配列をnumpy行列に変換する
- 4. numpy配列で1d numpy配列の要素を置き換えます
- 5. 2D numpy配列を1D配列にスライスする
- 6. Numpyは2次元配列行の1d配列要素を見つける
- 7. Cの2D配列に1D配列を代入する
- 8. nD numpy配列を1D配列に折り畳む
- 9. 列の長さが異なるnumpy配列の形を見つける
- 10. Numpy:各行の異なる列に値を挿入します。
- 11. 辞書のリストを1Dのnumpyの配列に変換する
- 12. 2d numpy配列をタプルの1d numpy配列に効率的に変換する方法はありますか?
- 13. numpy:さまざまな形状の1D配列
- 14. numpy配列のナンシー配列は1D形状を持っています
- 15. NumPy行列をNumPy配列にコピー
- 16. numpy 2D配列にnumpy 1D配列を乗算するにはどうすればよいですか?
- 17. Numpy Pythonで2次元配列に1d配列を追加する
- 18. 異種のnumpy配列に対する配列操作
- 19. numpy配列のnumpy配列を内部配列の長さで並べ替えます
- 20. 2D配列から1D列配列と1D行配列を取得する方法は? (C#.NET)
- 21. numpy配列で交互の行と列に値を挿入
- 22. 3D配列を1D配列に変換
- 23. python/numpy:2D配列の列長を取得する方法は?
- 24. 1D配列に入力名を書く
- 25. 長さが異なる配列のナンシー配列
- 26. が異なる長さの配列
- 27. 行列のリストを、異なる長さの配列のリストで掛けるR
- 28. 私のnumpy 2d配列は自動的に1d配列に変換されますか?
- 29. numpy、配列の異なるレイヤーの異なるスライス
- 30. 2D numpy行列を2D numpy配列に変換します。