2016-06-15 6 views
2

다음 사전을 pandas DataFrame으로 변환하려고합니다.사전을 DataFrame으로 변환 Python

mydata = {1965:{1:52, 2:54, 3:67, 4:45}, 
      1966:{1:34, 2:34, 3:35, 4:76}, 
      1967:{1:56, 2:56, 3:54, 4:34}} 

그리고 나는이처럼 보이는 결과 dataframe를 얻을 필요가 :

내 사전은 다음과 같습니다

Sector 1965 1966 1967 
    1  52 34 56 
    2  54 34 56 
    3  67 35 54 
    4  45 76 34 
나는 이런 식으로 뭔가를 사용했다

,하지만 난받지 못했습니다 내가 필요로하는 결과.

df = pd.DataFrame([[col1,col2,col3] for col1, d in test.items() for col2, col3 in d.items()])enter code here 

도움 주셔서 감사합니다.

답변

3

당신은 DataFrame.from_records 사용할 수 있습니다

import pandas as pd 

ydata = {1965:{1:52, 2:54, 3:67, 4:45}, 
      1966:{1:34, 2:34, 3:35, 4:76}, 
      1967:{1:56, 2:56, 3:54, 4:34}} 

print (pd.DataFrame.from_records(ydata)) 
    1965 1966 1967 
1 52 34 56 
2 54 34 56 
3 67 35 54 
4 45 76 34 

print (pd.DataFrame.from_records(ydata).reset_index().rename(columns={'index':'Sector'})) 
    Sector 1965 1966 1967 
0  1 52 34 56 
1  2 54 34 56 
2  3 67 35 54 
3  4 45 76 34 
관련 문제