반응형
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
반응형
'파이썬완전정복-Pandas DataFrame > 19. 형식 변환' 카테고리의 다른 글
Pandas DataFrame 19-09 numpy로 변환 (values) (0) | 2022.03.14 |
---|---|
Pandas DataFrame 19-08 string으로 변환(to_string) (0) | 2022.03.14 |
Pandas DataFrame 19-06 pickle객체로변환 (to_pickle) (0) | 2022.03.14 |
Pandas DataFrame 19-07 html으로 변환(to_html) (0) | 2022.03.14 |
Pandas DataFrame 19-05 Markdown으로 변환 (to_markdown) (0) | 2022.03.14 |