可変長リストの Python シーケンスを NumPy 配列に変換する場合、オブジェクト型への暗黙的な変換が行われます。配列が発生します。
<code class="python">v = [[1], [1, 2]] np.array(v)</code>
出力:
array([[1], [1, 2]], dtype=object)
int32 などの特定のデータ型を強制すると、例外が発生します:
<code class="python">np.array(v, dtype=np.int32)</code>
Exception:
ValueError: setting an array element with a sequence.
欠損値がプレースホルダーで埋められた int32 型の密な NumPy 配列を取得するには、itertools.zip_longest:
<code class="python">import itertools np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
Output:
array([[1, 0], [1, 2]])を利用できます。
Python 2 では、代わりに itertools.izip_longest を使用する必要があることに注意してください。
以上がPython シーケンスを欠損値が埋められた NumPy 配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。