Jupyter Python 노트북에 모든 데이터 프레임 열 표시


105

Jupyter Notebook의 데이터 프레임에있는 모든 열을 표시하고 싶습니다. Jupyter는 일부 열을 표시하고 다음 그림과 같이 마지막 열에 점을 추가합니다.

Juputer 스크린 샷

모든 열을 표시하려면 어떻게합니까?

답변:


176

다음과 같이 디스플레이 max_columns 설정을 시도하십시오.

import pandas as pd
from IPython.display import display

df = pd.read_csv("some_data.csv")
pd.options.display.max_columns = None
display(df)

또는

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

편집 : 판다 0.11.0 거꾸로

더 이상 사용되지 않지만 0.11.0 이전의 Pandas 버전에서는 max_columns설정이 다음과 같이 지정됩니다.

pd.set_printoptions(max_columns=500)

아주 오래된 버전의 Pandas가 없으면 작동합니다. 나는 ... 대답을 업데이트 한
이스마일

4
이것이 방법이라고 믿을 수 없습니다!
information_interchange

3
임시 설정을하려면 예를 사용할 수 있습니다 with pd.option_context("display.max_rows", 10, "display.max_columns", 5):( 옵션 가져 오기 및 설정 참조 ).
Benjamin B.

36

이 질문이 조금 오래되었다는 것을 알고 있지만 다음은 pandas 0.22.0 및 Python 3을 실행하는 Jupyter Notebook에서 저에게 효과적이었습니다.

import pandas as pd
pd.set_option('display.max_columns', <number of columns>)

행에 대해서도 동일한 작업을 수행 할 수 있습니다.

pd.set_option('display.max_rows', <number of rows>)

이렇게하면 IPython 가져 오기가 절약되고 pandas.set_option 문서에 더 많은 옵션이 있습니다. https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.set_option.html


1
열 수를 미리 모르는 경우 <열 수>에서 None 키워드를 사용할 수 있습니다.
kmundnic

9

대규모 (너무 크지는 않음) DataFrame 용 Python 3.x

아마도 이전 버전의 팬더가 있지만 Jupyter 노트북에서는이 작업이 나를 위해 작동합니다.

import pandas as pd
from IPython.core.display import HTML

df=pd.read_pickle('Data1')
display(HTML(df.to_html()))

이것을 시도했지만 메모리가 부족한 내 jupyter 세션을 망쳤습니다. 내 PC에는 SSD와 8GB RAM 메모리가 있습니다 ...
FLBKernel 2019 년

@FLBKernel 그것은 나에게 이것을하지 않았으며 아마도 귀하의 데이터 프레임이 내 것보다 훨씬 큽니다. 탈출구는 무엇입니까? 다른 방법을 시도해 보셨나요? 그렇다면 지식을 공유하십시오. 감사.
rsc05

아직 방법을 찾지 못했지만이 문제를 해결하는대로 알려 드리겠습니다. 그리고 네, 제 데이터 프레임은 아마도 더 클 것입니다. 그래서 이것이 큰 데이터 프레임에 권장되지 않는다는 점을 지적
합시다

1
@FLBKernel 내 데이터 프레임도 컸습니다. 그러나 나는 그것이 얼마나 클 수 있는지 알지 못했습니다. 나는 그것을 지적 할 것이다. 감사!
rsc05

내 것은 107.763 행과 15 열이 있습니다. 약 10 만 개 이상의 행과 15 개의 열이이 답변을 권장하지 않을 수도 있습니다. 나는 "큰 (하지만 너무 크지는 않음)"제목을 좋아합니다 :)
FLBKernel

5

단일 출력에만 영향을 미치도록 컨텍스트 관리자 내에서 표시 옵션을 설정하는 것이 좋습니다. "예쁜"html 버전도 인쇄하려면 함수를 정의하고 다음을 df사용 하여 데이터 프레임 을 표시합니다 force_show_all(df).

from IPython.core.display import display, HTML

def force_show_all(df):
    with pd.option_context('display.max_rows', None, 'display.max_columns', None, 'display.width', None):
        display(HTML(df.to_html()))

다른 사람들이 언급했듯이 합리적인 크기의 데이터 프레임에서만 이것을 호출하도록주의하십시오.


1

pandas.set_option ()을 사용할 수 있습니다. 열에는 다음 옵션 중 하나를 지정할 수 있습니다.

pd.set_option("display.max_rows", 200)
pd.set_option("display.max_columns", 100)
pd.set_option("display.max_colwidth", 200)

전체 인쇄 열의 경우 다음과 같이 사용할 수 있습니다.

import pandas as pd
pd.set_option('display.max_colwidth', -1)
print(words.head())

여기에 이미지 설명 입력


0

다음과 같이 설정된 모든 행을 표시하려면

pd.options.display.max_rows = None

다음과 같이 설정된 모든 열을 표시하려면

pd.options.display.max_columns = None
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.