19-04 dict로 변환 (to_dict)
DataFrame.to_dict(orient='dict', into=)
개요
to_dict 메서드는 데이터프레임 객체를 dict 형태로 변환하는 메서드 입니다.
사용법
기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.to_dict(orient='dict', into=)
orient : 출력할 dict의 형태를 지정합니다. 형태는 아래와 같습니다.
dict : {열 : {행 : 값, 행 : 값}, 열 : {행 : 값, 행 : 값}
list : {열 : [ 값 ], 열 : [ 값 ] }
series : {열 : Series, 열 : Series}
split : { index : [ 행, 행 ], columns : [ 열, 열 ], data : [ 값, 값 ] }
records : [ { 열 : 값 , 열 : 값 }, { 열 : 값, 열 : 값 } ]
index : { 행 : {열 : 값, 열 : 값}, 행 : {열 : 값, 열 : 값} }
into : 반환값의 모든 매핑에 사용되는 collections.abc.Mapping 하위클래스입니다.
예시
먼저 기본적인 사용법 예시를위하여 2x2 데이터를 만들어 보겠습니다.
df = pd.DataFrame([[1,2],[3,4]], columns=['col1','col2'],index=['row1','row2'])
print(df)
>>
col1 col2
row1 1 2
row2 3 4
기본적인 사용법
orient 인수를 설정함으로써 출력되는 dict객체의 형태를 정할 수 있습니다.
orient = 'dict'인 경우 {열 : {행 : 값, 행 : 값}, 열 : {행 : 값, 행 : 값} 형태로 변환합니다.
print(df.to_dict(orient='dict'))
>>
{'col1': {'row1': 1, 'row2': 3}, 'col2': {'row1': 2, 'row2': 4}}
orient = 'list'인 경우 {열 : [ 값 ], 열 : [ 값 ] } 형태로 변환합니다.
print(df.to_dict(orient='list'))
>>
{'col1': [1, 3], 'col2': [2, 4]}
orient = 'series'인 경우 {열 : Series, 열 : Series} 형태로 변환합니다.
print(df.to_dict(orient='series'))
>>
{'col1': row1 1
row2 3
Name: col1, dtype: int64, 'col2': row1 2
row2 4
Name: col2, dtype: int64}
orient = 'split'인 경우 { index : [ 행, 행 ], columns : [ 열, 열 ], data : [ 값, 값 ] } 형태로 변환합니다.
print(df.to_dict(orient='split'))
>>
{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'], 'data': [[1, 2], [3, 4]]}
orient = 'records'인 경우 [ { 열 : 값 , 열 : 값 }, { 열 : 값, 열 : 값 } ] 형태로 변환합니다.
print(df.to_dict(orient='records'))
>>
[{'col1': 1, 'col2': 2}, {'col1': 3, 'col2': 4}]
orient = 'index'인 경우 { 행 : {열 : 값, 열 : 값}, 행 : {열 : 값, 열 : 값} } 형태로 변환합니다.
print(df.to_dict(orient='index'))
>>
{'row1': {'col1': 1, 'col2': 2}, 'row2': {'col1': 3, 'col2': 4}}
'파이썬완전정복-Pandas DataFrame > 19. 형식 변환' 카테고리의 다른 글
Pandas DataFrame 19-07 html으로 변환(to_html) (0) | 2022.03.14 |
---|---|
Pandas DataFrame 19-05 Markdown으로 변환 (to_markdown) (0) | 2022.03.14 |
Pandas DataFrame 19-03 클립보드에 저장 (to_clipboard) (0) | 2022.03.14 |
Pandas DataFrame 19-02 excel로 변환 (to_excel) (0) | 2022.03.14 |
Pandas DataFrame 19-01 csv으로 변환 (to_csv) (0) | 2022.03.14 |