[PYTHON] Pandas Series / DataFrame 전체를 멋지게 인쇄하십시오.
PYTHONPandas Series / DataFrame 전체를 멋지게 인쇄하십시오.
터미널과 DataFrames를 많이 사용합니다. Series의 기본 __repr__은 머리와 꼬리 값이 일부는 있지만 나머지는 누락 된 축소 된 샘플을 반환합니다.
시리즈 / DataFrame 전체를 예쁜 인쇄하는 내장 된 방법이 있습니까? 이상적으로는 적절한 정렬, 즉 열 사이의 경계와 다른 열의 색상 코딩을 지원할 수 있습니다.
해결법
-
==============================
1.하나 이상의 옵션과 함께 option_context를 사용할 수도 있습니다.
하나 이상의 옵션과 함께 option_context를 사용할 수도 있습니다.
with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(df)
이렇게하면 옵션이 자동으로 기본값으로 돌아갑니다.
jupyter-notebook에서 작업하는 경우 print 대신 display를 사용하면 jupyter rich display 로직을 사용하게됩니다.
-
==============================
2.설정을 해킹 할 필요가 없습니다. 간단한 방법이 있습니다.
설정을 해킹 할 필요가 없습니다. 간단한 방법이 있습니다.
print(df.to_string())
-
==============================
3.물론, 이것이 많이 나오면, 이것과 같은 기능을하십시오. IPython을 시작할 때마다로드되도록 구성 할 수도 있습니다. https://ipython.org/ipython-doc/1/config/overview.html
물론, 이것이 많이 나오면, 이것과 같은 기능을하십시오. IPython을 시작할 때마다로드되도록 구성 할 수도 있습니다. https://ipython.org/ipython-doc/1/config/overview.html
def print_full(x): pd.set_option('display.max_rows', len(x)) print(x) pd.reset_option('display.max_rows')
착색에 관해서는, 색깔로 너무 정교 해지는 것은 나에게 비생산적인 소리를 낸다. 그러나 나는 부트 스트랩의 .table-striped와 같은 것이 멋질 것이라고 동의한다. 언제든지이 기능을 제안하는 문제를 만들 수 있습니다.
-
==============================
4.컨텍스트 관리자를 사용하는 대신 판다를 가져온 후에 전체 데이터 프레임을 표시하기위한 옵션을 설정하십시오.
컨텍스트 관리자를 사용하는 대신 판다를 가져온 후에 전체 데이터 프레임을 표시하기위한 옵션을 설정하십시오.
pd.set_option('display.max_columns', None) # or 1000 pd.set_option('display.max_rows', None) # or 1000 pd.set_option('display.max_colwidth', -1) # or 199
유용한 옵션의 전체 목록은 다음을 참조하십시오.
pd.describe_option('display')
-
==============================
5.도표 패키지 사용 :
도표 패키지 사용 :
pip install tabulate
그리고 다음 예제 사용법을 고려하십시오.
import pandas as pd from io import StringIO from tabulate import tabulate c = """Chromosome Start End chr1 3 6 chr1 5 7 chr1 8 9""" df = pd.read_table(StringIO(c), sep="\s+", header=0) print(tabulate(df, headers='keys', tablefmt='psql')) +----+--------------+---------+-------+ | | Chromosome | Start | End | |----+--------------+---------+-------| | 0 | chr1 | 3 | 6 | | 1 | chr1 | 5 | 7 | | 2 | chr1 | 8 | 9 | +----+--------------+---------+-------+
-
==============================
6.Ipython Notebook (Jupyter)을 사용하는 경우. HTML을 사용할 수 있습니다.
Ipython Notebook (Jupyter)을 사용하는 경우. HTML을 사용할 수 있습니다.
from IPython.core.display import HTML display(HTML(df.to_html()))
-
==============================
7.이 시도
이 시도
pd.set_option('display.height',1000) pd.set_option('display.max_rows',500) pd.set_option('display.max_columns',500) pd.set_option('display.width',1000)
-
==============================
8.당신은 아래의 방법을 사용하여이를 달성 할 수 있습니다. 그냥 총 번호를 전달하십시오. DataFrame에있는 열을 arg로 대입
당신은 아래의 방법을 사용하여이를 달성 할 수 있습니다. 그냥 총 번호를 전달하십시오. DataFrame에있는 열을 arg로 대입
예 :
df= DataFrame(..) with pd.option_context('display.max_rows', None, 'display.max_columns', df.shape[1]): print(df)
-
==============================
9.이 대답은 lucidyan의 이전 답변의 변형입니다. 그것은 set_option의 사용을 피함으로써 코드를보다 읽기 쉽게 만든다.
이 대답은 lucidyan의 이전 답변의 변형입니다. 그것은 set_option의 사용을 피함으로써 코드를보다 읽기 쉽게 만든다.
컨텍스트 관리자를 사용하는 대신 팬더를 가져온 후에 대형 데이터 프레임을 표시 할 수있는 옵션을 설정하십시오.
def set_pandas_options() -> None: pd.options.display.max_columns = 1000 pd.options.display.max_rows = 1000 pd.options.display.max_colwidth = 199 pd.options.display.width = None # pd.options.display.precision = 2 # set as needed set_pandas_options()
그 후에는 노트북을 사용하는 경우 display (df) 또는 df 만 사용할 수 있습니다. 그렇지 않으면 print (df)를 사용할 수 있습니다.
from https://stackoverflow.com/questions/19124601/pretty-print-an-entire-pandas-series-dataframe by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 문자열에서 팬더 DataFrame 만들기 (0) | 2018.10.02 |
---|---|
[PYTHON] Selenium : driver.quit ()를 호출하지 않고 geckodriver 프로세스가 PC 메모리에 영향을 미치지 않게하는 방법? (0) | 2018.10.02 |
[PYTHON] 하나의 키에 대해 다중 값을 사전에 추가 [duplicate] (0) | 2018.10.02 |
[PYTHON] Selenium WebDriver for Python이 페이지가로드 될 때까지 기다리십시오. (0) | 2018.10.02 |
[PYTHON] 파일이 파이썬에 존재하는지 어떻게 확인합니까? (0) | 2018.10.02 |