NumPy 配列変換での欠損値の補充
可変長リストの Python シーケンスを NumPy 配列に変換する場合、結果の配列は多くの場合、リストの長さはさまざまであるため、オブジェクト データ型を想定します。 int32 などの特定のデータ型を強制すると、エラーが発生する可能性があります。
特定のデータ型と埋められた欠損値を持つ高密度の NumPy 配列を効率的に取得するには、itertools モジュールを使用できます。具体的には、zip_longest 関数を使用して、リストにプレースホルダー値を埋め込むことができます。
たとえば、シーケンス v が指定された場合、
v = [[1], [1, 2]]
ゼロを配列として含む密な int32 配列を作成するには、プレースホルダー:
<code class="python">import itertools np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
このコードは以下を生成します:
array([[1, 0], [1, 2]])
ここで、元のシーケンスの欠損値はゼロで埋められます。特に、Python 2 の場合、使用する関数は itertools.izip_longest.
です。以上が特定のデータ型と一連の可変長リストの欠損値を埋めた高密度の NumPy 配列を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。