ホームページ  >  記事  >  バックエンド開発  >  Python シーケンスを欠損値が埋められた NumPy 配列に変換するにはどうすればよいですか?

Python シーケンスを欠損値が埋められた NumPy 配列に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-04 11:37:30677ブラウズ

How to Convert a Python Sequence to a NumPy Array with Missing Values Filled?

欠損値が埋められた Python シーケンスを NumPy 配列に変換する

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

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