簡體   English   中英

如何將元組列表轉換為結構化的 numpy 數組?

[英]How do I convert a list of tuples into a structured numpy array?

我有以下列表:

[(10, 1.1, 1.2, 12),
 (11, 2.1, 2.2, 22),
 (12, 3.1, 3.2, 32),
 (13, 4.1, 4.2, 42)]

以及以下 numpy 數據類型:

dt=np.dtype([('a', np.uint32), ('b', np.float64), ('c', np.float64), ('d', np.uint32)])

如何將上面的列表轉換為 4 行 1 列的 numpy 數組,每行元素存儲為 numpy 結構化數據類型?

用戶@hpaulj 已經在評論中回答了,但更詳細一點:

import numpy as np

data = [
    (10, 1.1, 1.2, 12),
    (11, 2.1, 2.2, 22),
    (12, 3.1, 3.2, 32),
    (13, 4.1, 4.2, 42)
]

dt = np.dtype([('a', np.uint32), ('b', np.float64), ('c', np.float64), ('d', np.uint32)])

arr = np.array(data, dt)

print(arr)
print(arr.dtype)
print(arr['a'], arr['b'])
print(arr[0], arr[1])

Output:

[(10, 1.1, 1.2, 12) (11, 2.1, 2.2, 22) (12, 3.1, 3.2, 32)
 (13, 4.1, 4.2, 42)]
[('a', '<u4'), ('b', '<f8'), ('c', '<f8'), ('d', '<u4')]
[10 11 12 13] [1.1 2.1 3.1 4.1]
(10, 1.1, 1.2, 12) (11, 2.1, 2.2, 22)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM