ホームページ  >  記事  >  バックエンド開発  >  特定のデータ型と一連の可変長リストの欠損値を埋めた高密度の NumPy 配列を作成するにはどうすればよいですか?

特定のデータ型と一連の可変長リストの欠損値を埋めた高密度の NumPy 配列を作成するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-04 03:58:01594ブラウズ

How can I create a dense NumPy array with a specific data type and filled-in missing values from a sequence of variable-length lists?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。