2013-02-11 2 views
3

이것은 데이터 프레임을 사용하는 잘못된 방법 일 수 있습니다. 그러나 값이 항목 목록 인 사전이 있습니다. 예 :리스트가 dataframe으로 값이되는 사전

인덱스가 키이고 값이 목록 인 값이있는 데이터 프레임을 만들고 싶습니다.

In [69]: my_df 
Out[69]: 
       0 
a  [1, 2, 3] 
b [3, 4, 5, 6] 

이 목록의 목록에 사전 값을 변경하고 트랜스를 사용하여, 내가 들어 왔 가장 가까운 : 이것은 내가보고 싶은 출력입니다. 더 좋은 방법은 무엇입니까?

In [64]: my_dict = {'a':[[1,2,3]], 'b':[[3,4,5,6]]} 

In [65]: my_df = pd.DataFrame(my_dict) 

In [66]: print my_df 
      a    b 
0 [1, 2, 3] [3, 4, 5, 6] 

In [67]: my_df.T 
Out[67]: 
       0 
a  [1, 2, 3] 
b [3, 4, 5, 6] 

감사합니다.

+2

할 수 있습니다 원하는 출력을 추가하십시오 ... – root

+0

감사합니다, 출력을 추가했습니다 – gus

답변

3
import pandas as pd 

my_dict = {'a':[1,2,3], 'b':[3,4,5]} 

pd.DataFrame([[i] for i in my_dict.values()],index=my_dict) 
Out[3]: 
      0 
a [1, 2, 3] 
b [3, 4, 5] 

하지만 당신은 무엇을이 SeriesDataFrame (A)보다 더 같이 :

pd.Series(my_dict) 
Out[4]: 
a [1, 2, 3] 
b [3, 4, 5] 

당신이, 당신이 DataFrame로 변환 할 수 있습니다해야하는 경우 :

pd.DataFrame(pd.Series(my_dict)) 
Out[5]: 
      0 
a [1, 2, 3] 
b [3, 4, 5] 
+0

'pd.Series (my_dict)'도 작동합니다 ... –

+0

@AndyHayden - 감사합니다, edite 내 대답. – root

관련 문제