如何從可變長度清單建立密集 NumPy 陣列?

Susan Sarandon
發布: 2024-11-04 08:32:01
原創
962 人瀏覽過

How to Create a Dense NumPy Array from Variable-Length Lists?

從可變長度清單產生密集 NumPy 陣列

將包含可變長度清單的 Python 序列標準轉換為 NumPy 陣列會建立一個物件類型陣列。強制執行另一種資料類型會引發 ValueError。本文示範了一種透過使用佔位符填充缺失值來產生 int32 類型的密集 NumPy 陣列的有效方法。

要將可變長度列表序列轉換為 NumPy 數組,可以使用 itertools.zip_longest itertools 模組中的函數。此函數迭代列表,當最短列表用完時停止。它使用 fillvalue 參數指定的佔位符值填入較長清單中的缺失值。

例如,考慮以下可變長度列表序列:

v = [[1], [1, 2]]
登入後複製

產生密集的NumPy序列中的數組,佔位符值為0,可以使用以下程式碼:

<code class="python">import itertools
np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
登入後複製

此程式碼的輸出將是int32 類型的NumPy 數組,缺失值將替換為0:

array([[1, 0],
       [1, 2]])
登入後複製

此方法提供了一種在將變長列表轉換為NumPy 數組時處理變長列表的有效方法,確保資料類型一致性並使用所需佔位符填充缺失值。

以上是如何從可變長度清單建立密集 NumPy 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板