首頁  >  文章  >  後端開發  >  如何將 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>

異常:

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>

輸出:

array([[1, 0],
       [1, 2]])

輸出:請注意,在Python 2 中,應該使用itertools.izip_longest。

以上是如何將 Python 序列轉換為填滿缺失值的 NumPy 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn