簡體   English   中英

如何將Python字典對象轉換為numpy數組

[英]How to convert Python dictionary object to numpy array

我有python dict對象,鍵為datetime.date對象,值為元組對象:

>>> data_dict
{datetime.date(2006, 1, 1): (5, 3),
 datetime.date(2006, 1, 2): (8, 8),
 datetime.date(2006, 1, 3): (8, 5),
 datetime.date(2006, 1, 4): (3, 3),
 datetime.date(2006, 1, 5): (3, 3),
 datetime.date(2006, 1, 6): (4, 3),
...

我想以這種格式將其轉換為numpy數組對象:

dtype([('date', '|O4'), ('high', '<i1'), ('low', '<i1')])

這樣我就可以將它存儲在磁盤上,然后再使用它,並在numpy中學習matplotlib ......

事實上,在查看這個matplotlib示例之后我想使用這種格式: http//matplotlib.sourceforge.net/users/recipes.html但是找不到如何到達那里的方法。

以下將這樣做:

arr = np.array([(k,)+v for k,v in data_dict.iteritems()], \
         dtype=[('date', '|O4'), ('high', '<f8'), ('low', '<f8')])

如果您希望將arr用作recarray ,則可以使用:

arr = arr.view(np.recarray)

這將使您能夠按名稱引用字段,例如arr.date

暫無
暫無

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

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