반응형

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가 넘는 값은 함축되어 표현.
반응형

+ 최근 글