如何將可變長度 Python 列表轉換為帶有佔位符的密集 NumPy 數組?

Barbara Streisand
發布: 2024-11-03 22:03:03
原創
455 人瀏覽過

How to Convert Variable-Length Python Lists to a Dense NumPy Array with Placeholders?

有效地將Python 變長列表轉換為密集NumPy 數組

將變長Python 列表直接轉換為NumPy 數字結果在“對象Py 數字組”類型的數組中,這可能是不可取的。或者,嘗試使用 np.array(v, dtype=np.int32) 強制指定類型會因數組中存在序列而導致異常。

因此,要建立一個密集的NumPy 數組特定資料類型(例如int32),同時使用佔位符填充缺失值,您可以利用itertools.zip_longest

例如,考慮輸入序列v = [[1], [1, 2]],使用佔位符為0 的itertools.zip_longest ,可以高效地獲得密集的NumPy 數組,如下所示:

<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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!