[英]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.