터미널에서 Series 및 DataFrames를 많이 사용합니다. __repr__
시리즈 의 기본값 은 일부 헤드 및 테일 값이 있지만 나머지는 누락 된 축소 샘플을 반환합니다.
Series / DataFrame 전체를 예쁘게 인쇄 할 수있는 방법이 있습니까? 이상적으로는 적절한 정렬, 아마도 열 사이의 경계 및 다른 열의 색상 코딩을 지원할 것입니다.
답변
option_context
하나 이상의 옵션과 함께을 사용할 수도 있습니다.
with pd.option_context('display.max_rows', None, 'display.max_columns', None): # more options can be specified also
print(df)
옵션이 자동으로 이전 값으로 돌아갑니다.
jupyter-notebook에서 작업하는 경우 display(df)
대신 print(df)
jupyter 리치 디스플레이 로직을 사용하십시오. (지금처럼) .
답변
설정을 해킹 할 필요가 없습니다. 간단한 방법이 있습니다.
print(df.to_string())
답변
물론, 이것이 많이 나오면 이와 같은 기능을하십시오. 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
과 같은 것이 좋을 것입니다. 이 기능을 제안하기 위해 항상 문제 를 만들 수 있습니다.
답변
컨텍스트 관리자를 사용하는 대신 팬더를 가져온 후 전체 데이터 프레임을 표시하기위한 옵션 을 설정하십시오 .
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')
답변
표 패키지를 사용하십시오.
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 |
+----+--------------+---------+-------+
답변
Ipython Notebook (Jupyter)을 사용중인 경우 HTML을 사용할 수 있습니다
from IPython.core.display import HTML
display(HTML(df.to_html()))
답변
사용 pd.options.display
이 답변은 lucidyan에 의한 이전 답변 의 변형입니다 . 의 사용을 피함으로써 코드를 더 읽기 쉽게 만듭니다 set_option
.
컨텍스트 관리자를 사용하는 대신 팬더를 가져온 후 큰 데이터 프레임을 표시하기위한 옵션 을 설정하십시오 .
def set_pandas_display_options() -> None:
# Ref: https://stackoverflow.com/a/52432757/
display = pd.options.display
display.max_columns = 1000
display.max_rows = 1000
display.max_colwidth = 199
display.width = None
# display.precision = 2 # set as needed
set_pandas_display_options()
이 후에 는 노트북을 사용하는 경우 display(df)
또는 df
노트북을 사용하는 경우에만 사용할 수 있습니다 print(df)
.
사용 to_string
Pandas 0.25.3에는 서식 옵션을 허용하는 메소드 DataFrame.to_string
와 Series.to_string
메소드가 있습니다.
사용 to_markdown
필요한 것은 마크 다운 출력 인 경우 Pandas 1.0.0에는 DataFrame.to_markdown
및 Series.to_markdown
메소드가 있습니다.
사용 to_html
HTML 출력이 필요한 경우 Pandas 0.25.3에는 DataFrame.to_html
메소드 가 있지만는 없습니다 Series.to_html
. 참고는이 것을 Series
할 수 있습니다 변환 된 A와 DataFrame
.