프로그래밍/파이썬

EDA - 1단계 : 데이터 다루기 - 변환

매 석 2023. 7. 23. 17:44
반응형

- 과거 내용

 

EDA - 1단계 : 데이터 다루기 - 멀티인덱스, 반복

과거내용 DataFrame - 멀티인덱스 1. 하위분류변환 xs를 통해서 하위분류변환을 할 수 있다. 위는 B와 ...

blog.naver.com

 

 

- DataFrame - 변환

1. csv 변환

#csv 변환
df.to_csv(path_or_buf='test.csv')

 

기본적으로 to_csv를 통해서 변환을 한다.

path_or_buf는 저장할 경로를 지정하는 옵션이다.

이외에도 sep은 구분자, na_rep은 결측값에 대한 설정, float_format은 소수점의 형식 설정,

columns는 출력 열 지정 등 다양한 옵션이 존재한다.

2. excel 변환

#excel로 변환
df.to_excel(excel_writer='test.xlsx',sheet_name='test')

 

to_excel을 사용해서 excel로 변환한다.

excel_writer를 사용해서 저장할 경로를 지정하고, sheet_name으로 시트 이름을 지정한다.

이외에도 csv와 같이 na_rep, columns, header 등의 옵션이 존재한다.

3. 클립보드에 저장

#클립보드 저장
df.to_clipboard()

 

to_clipboard를 사용하면 자동으로 클립보드에 저장이 된다.

그래서 엑셀을 키고 붙여넣기를 하면 클립보드에 저장된 데이터가 나온다.

옵션으로 sep, header 등이 있다.

4. 딕셔너리 변환

#원본 데이터
      col1
row1     1
row2     2
row3     3

#딕셔너리 변환
print(df.to_dict(orient='dict'))

{'col1': {'row1': 1, 'row2': 2, 'row3': 3}}

 

to_dict으로 딕셔너리로 변환한다.

orient로 출력할 형식을 지정할 수 있다.

dict, list, series, index, split 등 다양한 형태가 있다.

5. 마크다운 변환

#원본 데이터
      col1  col2
row1     1     2
row2     3     4

#마크다운 변환
print(df.to_markdown())

|      |   col1 |   col2 |
|:-----|-------:|-------:|
| row1 |      1 |      2 |
| row2 |      3 |      4 |

 

마크다운 변환을 출력하기 위해서는 pip install tabulate를 진행해야 한다.

to_markdown을 통해서 변환하며, index, tablefmt 등의 옵션이 있다.

6. 피클 객체 변환

#피클 객체로 변환
df.to_pickle('test.pkl')

 

to_pickle을 사용해서 피클 객체로 변환할 수 있다.

불러올 때는 read_pickle(주소)를 통해서 불러올 수 있다.

7. html 변환

#html로 변환
print(df.to_html())

 

to_html을 통해 html 코드로 변환할 수 있다.

columns, col_space, header, index, na_rep 등 다양한 옵션이 존재한다.

8. 문자열로 변환

#원본 데이터
      col1  col2
row1     1     2
row2     3     4

#string로 변환
print(df.to_string())
print(type(df.to_string()))

      col1  col2
row1     1     2
row2     3     4
<class 'str'>

 

to_string으로 문자형태로 변환한다.

columns, col_space, header, index, na_rep 등의 옵션이 존재한다.

9. numpy로 변환

#원본 데이터
      col1  col2
row1     1     2
row2     3     4

#numpy로 변환
print(df.values)

[[1 2]
 [3 4]]

values를 통해 numpy.ndarray 형태의 결과를 얻을 수 있다.

10. dict-> dataframe

#원본 데이터
data={'col1':[1,2], 'col2':[3,4]}

#dict->dataframe
df2 = pd.DataFrame.from_dict(data=data, orient='columns')
print(df2)

   col1  col2
0     1     3
1     2     4

 

from_dict를 사용해서 딕셔너리를 데이터프레임으로 바꿀 수 있다.

to_dict의 반대과정이다.

마찬가지로 orient를 사용해서 columns, index 등으로 설정할 수 있다.