Dataframe을 Dict로 생성 및 변환

Dataframe을 Dict로 생성 및 변환

Pandas
Dataframe을 Dict로 생성 및 변환
Author

gabriel yang

Published

November 30, 2023

Dataframe을 Dict로 생성 및 변환

파이썬 딕셔너리 데이터로 Dataframe을 생성하는 방법을 정리합니다.

data = {
  "A" : [1,2,3],
  "B" : [4,5,6],
  "C" : [7,8,9]
}
data
{'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}

딕셔너리 데이터를 데이터프레임으로 변경하기 위해서 from_dict를 사용합니다.

import pandas as pd
df = pd.DataFrame.from_dict(data)
df
A B C
0 1 4 7
1 2 5 8
2 3 6 9

데이터프레임을 딕셔너리로 변환

데이터프레임은 다시 딕셔너리로 변경이 가능합니다. 딕셔너리로 변경은 to_dict를 사용합니다. 데이터프레임을 딕셔너리로 변경하는 방식을 여러가지 {dict, list, series, split, tight, records, index}가 지원됩니다.

dict 형식

변환 형식은 orient에 전달되고 기본값은 dict 형식입니다. index가 추가되는 {column -> {index->value}}와 같은 형식을 갖습니다.

dict_from_dataframe = df.to_dict(orient='dict')
dict_from_dataframe
{'A': {0: 1, 1: 2, 2: 3}, 'B': {0: 4, 1: 5, 2: 6}, 'C': {0: 7, 1: 8, 2: 9}}

list 형식

list 형식은 {column -> [value]}와 같은 형식을 갖습니다. 일반적으로 딕셔너리에 index를 사용하지 않기 때문에 list형식으로 표현하는 것이 익숙합니다.

dict_from_dataframe = df.to_dict(orient='list')
dict_from_dataframe
{'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}

records 형식

records 형식은 [{column->value}, ... , {column->value}]와 같은 형식을 갖습니다. 각각의 열을 리스트로 표현하기 때문에 데이터베이스의 레코드와 비슷합니다.

dict_from_dataframe = df.to_dict(orient='records')
dict_from_dataframe
[{'A': 1, 'B': 4, 'C': 7}, {'A': 2, 'B': 5, 'C': 8}, {'A': 3, 'B': 6, 'C': 9}]

References

  1. https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_dict.html