반응형

19-10 dict에서 변환 (from_dict)

DataFrame.DataFrame.from_dict(data, orient='columns', dtype=None, columns=None)

 

개요


from_dict메서드는 dict객체로부터 DataFrame 객체로 변환하는 메서드입니다.

 

사용법


기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.from_dict(data, orient='columns', dtype=None, columns=None)
data : dict 형태의 데이터 입니다.
orient : {index / columns / tight} 변환 방식입니다. index은 행을 키값으로 지정, columns는 열을 키값으로 지정, tight는 키값으로 [index / columns / data / index_names / columns_names] 를 가집니다.
dtype : 데이터의 type을 강제로 지정할 수 있습니다. 

columns : index인수를 사용할 경우 columns인수를 통해 열 이름을 지정할 수 있습니다.

 

 

예시



기본적인 사용법
orient인수의 기본값은 'columns'로 키값으로 열 이름을 사용하게 됩니다.

data = {'col1':[1,3],'col2':[2,4]}
df = pd.DataFrame.from_dict(data=data, orient='columns')
print(df)
>>
   col1  col2
0     1     2
1     3     4


orient인수가 'index'인 경우 키 값으로 행 이름을 사용하게 됩니다.

data = {'row1':[1,2],'row2':[3,4]}
df = pd.DataFrame.from_dict(data=data, orient='index')
print(df)
>>
      0  1
row1  1  2
row2  3  4


orient인수가 'index'인 경우 columns인수를 통해 열 이름을 추가로 설정할 수 있습니다.

data = {'row1':[1,2],'row2':[3,4]}
df = pd.DataFrame.from_dict(data=data, orient='index', columns=['col1','col2'])
print(df)
>>
      col1  col2
row1     1     2
row2     3     4


dtype 인수를 이용하면 값의 type을 강제로 지정할 수 있습니다.

data = {'row1':[1,2],'row2':[3,4]}
df = pd.DataFrame.from_dict(data=data, orient='index', columns=['col1','col2'],dtype='float')
print(df)
>>
      col1  col2
row1   1.0   2.0
row2   3.0   4.0
# float type으로 변경된 것을 확인할 수 있습니다.


orient='tight'인 경우 'index' / 'columns' / 'data' / 'index_names' / 'column_names'를 키 값으로 지정하여 세부내용을 설정 할 수 있습니다.
※1.4.0 버전부터만 사용 가능합니다.

data =  {'index'        : [('idx1','row1'),('idx1','row2')], # 인덱스 이름 설정, 멀티 인덱스 가능
         'columns'      : [('col1','val1'),('col2','val2')], # 열 이름 설정, 멀티 컬럼 가능
         'data'         : [[1,2],[3,4]], # 데이터 값 설정
         'index_names'  : ['I1','I2'], # 인덱스명 설정
         'column_names' : ['C1','C2']} # 컬럼명 설정
df = pd.DataFrame.from_dict(data=data, orient='tight')
print(df)
>>
C1        col1 col2
C2        val1 val2
I1   I2            
idx1 row1    1    2
     row2    3    4
반응형

+ 최근 글