2014-04-19 2 views
1

느슨하게 연결된 사전 목록을 np.recarray (import numpy as np)으로 변환하는 데 사용할 수있는 방법은 무엇입니까?numpy, recarray : dict의 목록을 np.recarray로 변환하는 방법?

나는 여기에서 주변을 둘러 보았으나 데이터가 이미 잘 구조화 된 것을 보았다. dict_list_to_recarray.py

감사합니다 :

여기 간단한 방법을 프로토 타입했습니다!

+1

로 변환 'pandas'] (http://pandas.pydata.org)'DataFrames'; 당신은'df = pd.DataFrame (raw)'을 쓸 수있다. 그리고 원할 경우'df.to_records()'를 사용하여 동등한 재 배열을 얻을 수 있습니다. ('pandas'는 NaN을 사용하여'None'을 사용하는 곳에서 누락 된 값을 나타냅니다. 그러나'.fillna() '는 그것을 바꿀 수 있습니다.) – DSM

+0

고마워요! – eacousineau

답변

3

@DSM은 완전한 답을 준비 할 때 저를 때렸습니다. 그러나 그렇습니다. 그것은 이미 그곳에 있습니다. 사람들이 recarrays`들은 보통 [이용하여 더 나을 것`사용하는 경우에만 다음 DataFrame로 변환 (pd로 가져) Pandas을 사용한다는 것을 내 경험에서는 recarray

In [8]: 

print pd.DataFrame(raw) 
    age    extra has_money name 
0 45    NaN  True Billy 
1 32 Something wicked  False Tommy 
2 31    NaN  True  Al 
In [9]: 

pd.DataFrame(raw).to_records() 
Out[9]: 
rec.array([(0, 45, nan, True, 'Billy'), 
     (1, 32, 'Something wicked', False, 'Tommy'), 
     (2, 31, nan, True, 'Al')], 
     dtype=[('index', '<i8'), ('age', '<i8'), ('extra', 'O'), ('has_money', '?'), ('name', 'O')]) 
관련 문제