我正在嘗試處理我試圖查看結構陣列的資料型別的要求。這是代碼-
OrderDate = ['05-11-1996', '01-01-1971', '03-15-1969', '08-09-1983']
OrderAmount = [25.9, 44.8, 36.1, 29.4]
OrderNumber = [25, 45, 37, 19]
OrderName=['Ronaldo','Messi','Dybala','Pogba']
import numpy as np
data = np.zeros(3, dtype={'OrderDates':('OrderDate','OrderAmount', 'OrderNumber','OrderName'),
'formats':('U10','f8','i4','U10')})
print(data.dtype)
輸出應該是:-
[('OrderDate', '<U10'), ('OrderAmount', '<f8'), ('OrderNumber', '<i4'), ('OrderName', '<U10')]
但我收到一個錯誤-
ValueError Traceback (most recent call last)
<ipython-input-10-727f000630c8> in <module>()
1 import numpy as np
2 data = np.zeros(3, dtype={'OrderDates':('OrderDate','OrderAmount', 'OrderNumber','OrderName'),
----> 3 'formats':('U10','f8','i4','U10')})
4 print(data.dtype)
1 frames
/usr/local/lib/python3.7/dist-packages/numpy/core/_internal.py in _makenames_list(adict, align)
30 n = len(obj)
31 if not isinstance(obj, tuple) or n not in [2, 3]:
---> 32 raise ValueError("entry not a 2- or 3- tuple")
33 if (n > 2) and (obj[2] == fname):
34 continue
ValueError: entry not a 2- or 3- tuple
你能告訴我我哪里錯了嗎?
uj5u.com熱心網友回復:
所述numpy.zeros()函式回傳給定的形狀和型別,與零的一個新的陣列。
句法:
numpy.zeros(shape, dtype = None, order = 'C')
您使用了錯誤的語法,它應該如下所示:
import numpy as np
data = np.zeros((2,), dtype=[('OrderDate','U10'),('OrderAmount','f8')
('OrderNumber','i4'),('OrderName','U10')]) # custom dtype
print(data.dtype)
[('OrderDate', '<U10'), ('OrderAmount', '<f8'), ('OrderNumber', '<i4'), ('OrderName', '<U10')]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/348484.html
