首頁  >  文章  >  後端開發  >  如何有效率地將可變長度 Python 序列轉換為密集 NumPy 陣列?

如何有效率地將可變長度 Python 序列轉換為密集 NumPy 陣列?

Susan Sarandon
Susan Sarandon原創
2024-11-06 02:59:02999瀏覽

How to Efficiently Convert Variable-Length Python Sequences to Dense NumPy Arrays?

高效率地將可變長度 Python 序列轉換為密集 NumPy 陣列

將 Python 序列轉換為 NumPy 陣列非常簡單。但是,在處理可變長度清單時,隱式轉換會產生物件類型的數組,這可能不是最佳的。此外,強制執行特定的資料類型可能會導致異常。

此問題的一個有效解決方案是使用 itertools.zip_longest 函數。透過利用 zip_longest,我們可以輕鬆建立一系列元組,其中使用佔位符值填充缺失值。透過轉置結果列表,可以獲得所需資料類型的密集 NumPy 數組。

例如,考慮序列 v = [[1], [1, 2]].

此處,填充值 0 用於填充較短列表中的缺失值。

為了相容於 Python 2,請改用 itertools.izip_longest。這種方法非常高效,並提供了一種將可變長度 Python 序列轉換為密集 NumPy 數組的簡單方法,確保類型安全和最佳性能。

以上是如何有效率地將可變長度 Python 序列轉換為密集 NumPy 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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