単純なリストのリストをnumpyの配列に変換するにはどうすればよいですか?行は個別のサブリストで、各行にはサブリストの要素が含まれます。リストのリストをnumpyの配列
答えて
>>> numpy.array([[1, 2], [3, 4]])
array([[1, 2], [3, 4]])
それは同じくらい簡単です:イグナシオバスケス - エイブラムスの答えは動作しませんよりも、リストのリストは、要素数の異なるリストを持っている場合
>>> lists = [[1, 2], [3, 4]]
>>> np.array(lists)
array([[1, 2],
[3, 4]])
。
1)アレイのアレイメイク:
x=[[1,2],[1,2,3],[1]]
y=numpy.array([numpy.array(xi) for xi in x])
type(y)
>>><type 'numpy.ndarray'>
type(y[0])
>>><type 'numpy.ndarray'>
2)リストのアレイ作る:最初の長さのリストが等しくなる)
x=[[1,2],[1,2,3],[1]]
y=numpy.array(x)
type(y)
>>><type 'numpy.ndarray'>
type(y[0])
>>><type 'list'>
3の代わりに3つのオプションがあります。
x=[[1,2],[1,2,3],[1]]
length = len(sorted(x,key=len, reverse=True)[0])
y=numpy.array([xi+[None]*(length-len(xi)) for xi in x])
y
>>>array([[1, 2, None],
>>> [1, 2, 3],
>>> [1, None, None]], dtype=object)
ありがとう、ここに来ました。しばらくの間、numpyを使用していて、この動作が軽微であることがわかりました。このより一般的なケースを説明する時間をとってくれてありがとう。 –
この回答は参考になりました! – alisa
これは、リストをNumpy配列に変換するGoogleのトップ検索であるため、次の4歳という質問にもかかわらず:それはサイコーシンプルだから
>>> x = [[1, 2], [1, 2, 3], [1]]
>>> y = numpy.hstack(x)
>>> print(y)
[1 2 1 2 3 1]
私が最初にこの方法でそれをやって考え、私は自分自身と非常に喜んでいました。しかし、リストの大きなリストでそれをタイミングした後、それがこれを行うには、実際に高速です:注
>>> y = numpy.concatenate([numpy.array(i) for i in x])
>>> print(y)
[1 2 1 2 3 1]
Bastiaanの回答#1 @単一の連続リストを作成していないこと、それゆえ私はconcatenate
を追加しました。
とにかく... Numpyをうまく使用するには、hstack
アプローチが好きです。
ここでも、N次元配列にNレベルでネストされたリストを変換する問題を検索した後、私は何も見つからなかったので、ここではその周りに私の方法があります:
import numpy as np
new_array=np.array([[[coord for coord in xk] for xk in xj] for xj in xi], ndmin=3) #this case for N=3
- 1. numpyのサブアレイのリストにnumpyの配列を変換し
- 2. リストとnumpy配列を連結する
- 3. 2D numpy配列のリストを3D numpy配列に変換しますか?
- 4. Pythonのnumpyの、リストでリスト
- 5. 辞書のリストを1Dのnumpyの配列に変換する
- 6. numpy配列内の値リストのインデックスを見つける
- 7. Python/numpy:値のリストの配列位置を取得
- 8. numpy配列のオブジェクトフィールドでオブジェクトのリストをソートしますか?
- 9. numpy配列のリスト内の要素をゼロにします。
- 10. 私はインデックスのリストを持っている3D numpyの配列
- 11. numpy配列のリストを1つの配列にマージする(高速)
- 12. 2D numpy配列のリストを3D配列にキャストするときのメモリコピー
- 13. numpy配列を含むタプルのリストをソートするには?
- 14. リストのいずれかを含むNumPy配列行を検索
- 15. euclidian distanceを使用してnumpy配列のリストのnumpy配列の最近隣を見つけよう
- 16. リストからnumpy配列の作成をスピードアップ
- 17. PythonリストをNumpy配列のInPlaceに変換する
- 18. numpy配列のリストとリシェイプを組み合わせる
- 19. 私はnumpyの配列リストを持っている
- 20. Numpyはリストをnpの配列に変換できません
- 21. 不均一numpy配列のリストを格納するには?
- 22. numpy配列を通常のpythonリストに変換するには?
- 23. リストからnumpyの配列を作成する
- 24. リストをnumpy配列の一部にコピーする
- 25. 要素の組み合わせnumpy配列のリスト
- 26. 割当1と0の値numpyの配列に値がリスト
- 27. 変換できませんndarraysのリストnumpyの配列
- 28. 変換は、2D数値配列にリストのnumpyの配列オブジェクトとバック
- 29. 現在配列/配列リスト/リスト
- 30. PythonリストとNumPyリスト出力
REPLはかなり初心者の質問に減らし意味。 –
これは、すべてのリストの長さが同じであるため、2D配列のリストのリストを自動的に変換します。あなたはそれをしない方法を知っていますか?すべてのリストが同じ長さであっても、リストを並べ替えますか?または、1D配列の1D配列の2D配列を変換することが可能です(効率的には、反復メソッドやPythonマップのものはありません) –
サブリストのサイズが均等でないため、それが機能しない場合は、[the次の回答](http://stackoverflow.com/a/26224619/1449460)。 –