首頁  >  文章  >  後端開發  >  如何將列表列表轉換為 NumPy 陣列?

如何將列表列表轉換為 NumPy 陣列?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-20 13:07:01487瀏覽

How can I Convert a List of Lists into a NumPy Array?

如何將清單清單轉換為 NumPy 陣列

將清單清單轉換為 NumPy 陣列是資料分析和操作中的常見任務。當處理具有層次結構的資料時,使用列表的列表來表示它通常很方便。但是,對於某些操作,可能需要將清單清單轉換為 NumPy 數組,以便更有效地處理。

例如,代表值表的列表列表可能如下所示:

my_list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

要將這個列表列表轉換為 NumPy 數組,您可以使用 numpy.array() 函數。預設情況下,numpy.array() 假定子列表都具有相同的長度。因此,如果您的列表列表包含具有不同數量元素的列表,則轉換將失敗。

將不同長度的清單轉換為NumPy 陣列的選項

如果您的清單清單包含具有不同數量的元素,則有多個選項可用:

  1. 建立數組數組:

    此選項產生一個數組,其中每個元素本身就是一個包含對應子列表元素的數組。

    <code class="python">import numpy as np
    
    my_list_of_lists = [[1, 2], [1, 2, 3], [1]]
    my_array_of_arrays = np.array([np.array(xi) for xi in my_list_of_lists])</code>
  2. 建立清單數組:

    此選項建立一個數組,其中每個元素都是一個包含對應子列表元素的列表。

    <code class="python">my_array_of_lists = np.array(my_list_of_lists)</code>
  3. 均衡清單長度:

    您也可以填充較短的清單使用None 值來均衡它們的長度,然後將列表列表轉換為數組。

    <code class="python">length = max(map(len, my_list_of_lists))
    my_array = np.array([xi + [None] * (length - len(xi)) for xi in my_list_of_lists])</code>

透過根據您的特定要求選擇適當的方法,您可以將清單清單轉換為陣列清單到 NumPy 陣列中並有效地對資料執行進一步的操作。

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

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