[python] pandas dataframe에서 html로 변환 할 때 html로 전체 (잘리지 않은) 데이터 프레임 정보를 표시하는 방법은 무엇입니까?

DataFrame.to_html함수를 사용하여 팬더 데이터 프레임을 HTML 출력으로 변환했습니다 . 이것을 별도의 html 파일로 저장하면 파일이 잘린 출력을 표시합니다.

예를 들어 TEXT 열에서

df.head(1) 표시됩니다

영화는 훌륭한 노력이었습니다 …

대신에

이 영화는이시기에 널리 퍼진 복잡한 사회적 감정을 해체하는 데 큰 노력을 기울였습니다.

이 판결은 화면에 친화적 인 거대한 팬더 데이터 프레임 형식의 경우에는 좋지만 데이터 프레임에 포함 된 완전한 테이블 형식 데이터를 표시하는 html 파일이 필요합니다. 이전 텍스트 스 니펫.

html 버전의 정보에서 TEXT 열의 각 요소에 대해 잘리지 않은 완전한 텍스트 데이터를 표시하려면 어떻게해야합니까? html 테이블에 완전한 데이터를 표시하기 위해 긴 셀을 표시해야한다고 생각하지만 이해하는 한 열 너비 매개 변수 만 DataFrame.to_html함수에 전달할 수 있습니다 .



답변

display.max_colwidth옵션을 -1다음으로 설정하십시오 .

pd.set_option('display.max_colwidth', -1)

set_option 문서

예를 들어, iPython에서는 정보가 50 자로 잘립니다. 초과하는 것은 생략됩니다.

여기에 이미지 설명을 입력하십시오

display.max_colwidth옵션 을 설정하면 정보가 완전히 표시됩니다.

여기에 이미지 설명을 입력하십시오


답변

pd.set_option('display.max_columns', None)  

id (두 번째 인수)는 열을 완전히 표시 할 수 있습니다.


답변

pd.set_option('display.max_columns', None)표시된 최대 열 수를 설정하는 동안 옵션 pd.set_option('display.max_colwidth', -1)은 각 단일 필드의 최대 너비를 설정합니다.

내 목적을 위해 나머지 코드에 영향을주지 않고 거대한 데이터 프레임을 완전히 인쇄하는 작은 도우미 함수를 작성했으며 부동 숫자를 다시 포맷하고 가상 디스플레이 너비를 설정합니다. 사용 사례에 맞게 채택 할 수 있습니다.

def print_full(x):
    pd.set_option('display.max_rows', len(x))
    pd.set_option('display.max_columns', None)
    pd.set_option('display.width', 2000)
    pd.set_option('display.float_format', '{:20,.2f}'.format)
    pd.set_option('display.max_colwidth', None)
    print(x)
    pd.reset_option('display.max_rows')
    pd.reset_option('display.max_columns')
    pd.reset_option('display.width')
    pd.reset_option('display.float_format')
    pd.reset_option('display.max_colwidth')


답변

이 작업을 어둡게하는 사람들에게 적합합니다. 나는 dask에서 비슷한 옵션을 찾을 수 없었지만 팬더 용 동일한 노트북 에서이 작업을 간단하게 수행하면 dask에서도 작동합니다.

import pandas as pd
import dask.dataframe as dd
pd.set_option('display.max_colwidth', -1) # This will set the no truncate for pandas as well as for dask. Not sure how it does for dask though. but it works

train_data = dd.read_csv('./data/train.csv')
train_data.head(5)


답변

다음 코드는 아래 오류를 발생시킵니다.

pd.set_option('display.max_colwidth', -1)

FutureWarning : 음의 정수 전달은 버전 1.0에서 더 이상 사용되지 않으며 이후 버전에서는 지원되지 않습니다. 대신, 열 너비를 제한하지 않으려면 없음을 사용하십시오.

대신 다음을 사용하십시오.

pd.set_option('display.max_colwidth', None)

이것은 작업을 수행하고 버전 1.0 이후 의 판다 버전을 준수합니다 .


답변