2011-09-19 5 views
3

NumPy와 배열에 파이썬 사전 개체를 변환 :어떻게 튜플 개체로 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')]) 

나는 사실

, 내가보고 후이 형식을 사용 생각 ...하기 matplotlib, NumPy와에, 그것으로 디스크 및 이후 작업에 저장하고 배울 수 있도록 ~에서 이 matplotlib 예 : http://matplotlib.sourceforge.net/users/recipes.html하지만 거기에 도착하는 방법을 내 길을 찾을 수 없습니다.

답변

8

다음은 그것을 할 것입니다 :

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

당신이 다음 recarrayarr을 사용하려면, 당신은 사용할 수 있습니다

arr = arr.view(np.recarray) 

이 이름, 예를 들어으로 필드를 참조 할 수있게된다 arr.date.

+1

작은 쪽지 : dict에는 정렬 (data_dict.iteritems())이 필요합니다. – zetah