19-08 string으로 변환(to_string)
DataFrame.to_string(buf=None, columns=None, col_space=None, header=True, index=True, na_rep='NaN', formatters=None, float_format=None, sparsify=None, index_names=True, justify=None, max_rows=None, max_cols=None, show_dimensions=False, decimal='.', line_width=None, min_rows=None, max_colwidth=None, encoding=None)
개요
to_string 메서드는 데이터 객체를 단순 string 형태로 변형하는 메서드입니다.
사용법
기본 사용법
※ 자세한 내용은 아래 예시를 참고 바랍니다.
df.to_string(buf=None, columns=None, col_space=None, header=True, index=True, na_rep='NaN', formatters=None, float_format=None, sparsify=None, index_names=True, justify=None, max_rows=None, max_cols=None, show_dimensions=False, decimal='.', line_width=None, min_rows=None, max_colwidth=None, encoding=None)
buf : 저장할 버퍼 입니다. None이면 문자열로 출력됩니다.
columns : 출력할 열을 지정합니다.
col_space : 열 너비를 지정합니다. .
header / index : 열/행 레이블의 출력 여부 입니다. False이면 출력하지 않습니다.
리스트 형태로 입력하여 레이블명의 변경이 가능합니다.
na_rep : 결측값의 표현 방식 입니다.
formatters : 포매터 함수를 통해 값의 포맷을 설정합니다. .format() 메서드도 사용 가능합니다.
float_format : 소수점 단위 자리수를 지정합니다. 기본은 마침표( . ) 입니다.
※ formatters / float_format 의 사용법은 [19-07 html형태 변환 to_html 에 자세히 설명 되어있으므로 참고 바랍니다.
sparsify : 각 행의 모든 다중 인덱스 키를 인쇄하려면 계층적 인덱스가 있는 DataFrame에 대해 False로 설정합니다.
index_names : 인덱스명을 출력할지를 정합니다.
justify : 정렬 방식을 지정합니다.
maxrows : 최대 출력할 줄 수를 지정합니다. 초과되는 줄은 ( ... )형태로 축약됩니다.
maxcols : 최대 출력할 열 수를 지정합니다. 초과되는 줄은 ( ... )형태로 축약됩니다.
show_dimensions : 출력된 html 객체 아래에 데이터 객체의 차원을 출력합니다.
decimal : 1000단위 구분기호로 인식되는 문자를 지정합니다.
linewidth : 문자로 줄바꿈할 너비 입니다.
minrow : maxrows로인해 잘린 표현을 표시할 수 입니다.
max_colwidth : 각 열을 문자열로 자르기 위한 최대 너비입니다. 기본값은 무제한 입니다.
encoding : 인코딩을 지정합니다.
예시
먼저 기본적인 사용법 예시를위하여 3x2 데이터를 만들어 보겠습니다.
data = [[1,np.NaN],['A',4.179],['<&>',32000]]
df = pd.DataFrame(data,columns=['col1','col2'])
df=df.rename_axis(columns='index')
print(df)
>>
index col1 col2
0 1 NaN
1 A 4.179
2 <&> 32000.000
기본적인 사용법
to_string( )메서드를 사용하면 데이터 객체의 기본 타입인 pandas.core.frame.DataFrame을 string으로 변경합니다.
print(df.to_string())
>>
index col1 col2
0 1 NaN
1 A 4.179
2 <&> 32000.000
print(type(df))
>>
<class 'pandas.core.frame.DataFrame'> # 기본 type
print(type(df.to_string()))
>>
<class 'str'> # str 객체로 type이 변경됨.
columns 인수의 사용
columns 인수를 입력하여 특정 열만 출력이 가능합니다. list 형태로 입력하여야합니다
print(df.to_string(columns=['col2'])) # col2만 출력
>>
index col2
0 NaN
1 4.179
2 32000.000
col_space 인수의 사용
col_space 인수를 입력하여 열 너비를 지정할 수 있습니다.
print(df.to_string(col_space=[10,20]))
>>
index col1 col2
0 1 NaN
1 A 4.179
2 <&> 32000.000
header 인수의 사용
header 인수를 입력하여 열 이름을 지정할 수 있습니다. True 나 False, None를 입력하여 출력 여부를 설정할 수도 있습니다.
print(df.to_string(header=['val1','val2']))
>>
index val1 val2
0 1 NaN
1 A 4.179
2 <&> 32000.000
index인수의 사용
index 인수를 이용해 index의 출력 여부를 정할 수 있습니다.
print(df.to_string(index=False))
>>
col1 col2
1 NaN
A 4.179
<&> 32000.000
na_rep 인수의 사용
na_rep인수를 입력하여 결측치(NaN등)의 표현값을 변경할 수 있습니다.
print(df.to_string(na_rep='결측'))
>>
index col1 col2 # 결측치가 '결측' 으로 변경
0 1 결측
1 A 4.179
2 <&> 32000.000
index_names인수의 사용
index_names를 설정함으로서 인덱스명의 출력 여부를 정할 수 있습니다. 기본값은 True입니다.
print(df.to_string(index_names=False))
>>
col1 col2 # 인덱스명이 출력되지 않음
0 1 NaN
1 A 4.179
2 <&> 32000.000
justify 인수의 사용
justify 인수를 사용해 인덱스를 정렬할 수 있습니다.
사용 가능한 값 : {left / right / center / justify / justify-all / start / end / inherit / match-parent / initial / unset}
print(df.to_string(justify='left'))
>>
index col1 col2 #인덱스가 왼쪽 정렬됨
0 1 NaN
1 A 4.179
2 <&> 32000.000
max_raws / max_cols 인수의 사용
max_raws / max_cols 인수를 사용해 출력할 최대 행/열 수를 지정할 수 있습니다. 초과분은 ( ... )로 함축되어 표현됩니다.
print(df.to_string(max_rows=2))
>>
index col1 col2
0 1 NaN
.. ... ...
2 <&> 32000.0
print(df.to_string(max_cols=1))
>>
index col1 ...
0 1 ...
1 A ...
2 <&> ...
show_dimensions인수의 사용
show_dimensions인수를 이용하여 데이터의 차원을 출력할 수 있습니다.
print(df.to_string(show_dimensions=True))
>>
index col1 col2
0 1 NaN
1 A 4.179
2 <&> 32000.000
[3 rows x 2 columns] # 데이터의 차원이 출력됨.
decimal 인수의 사용
decimal인수를 사용하여 1000단위 표현값을 지정할 수 있습니다. 기본값은 콤마( , ) 입니다.
print(df.to_string(decimal='_'))
>>
index col1 col2
0 1 NaN
1 A 4_179
2 <&> 32000_000 # 언더바로 변경됨.
line_width인수의 사용
linde_width인수값을 입력하여 줄바꿈할 열의 너비를 지정할 수 있습니다.
print(df.to_string(line_width=2))
>>
index col1 \
0 1
1 A
2 <&>
index col2 # 줄바꿈이 진행됨.
0 NaN
1 4.179
2 32000.000
max_colwidth인수의 사용
max_colwidth 인수를 이용하여 열 내의 문자열 길이를 제한할 수 있습니다. 초과하는 문자는 ( ... ) 으로 함축됩니다.
print(df.to_string(max_colwidth=5))
>>
index col1 col2
0 1 NaN
1 A 4...
2 <&> 3... # 길이 5가 넘는 값은 함축되어 표현.
'파이썬완전정복-Pandas DataFrame > 19. 형식 변환' 카테고리의 다른 글
Pandas DataFrame 19-10 dict에서 변환 (from_dict) (0) | 2022.03.14 |
---|---|
Pandas DataFrame 19-09 numpy로 변환 (values) (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 |