iPython 노트북을 사용하고 있습니다. 내가 이것을 할 때 :
df
나는 세포가있는 아름다운 테이블을 얻습니다. 그러나 내가 이것을하면 :
df1
df2
첫 번째 아름다운 테이블을 인쇄하지 않습니다. 내가 이것을 시도하면 :
print df1
print df2
테이블을 다른 형식으로 인쇄하여 열을 쏟아 내고 출력을 매우 크게 만듭니다.
두 데이터 세트 모두에 대해 아름다운 테이블을 인쇄하도록 강제하는 방법이 있습니까?
답변
IPython의 디스플레이 모듈에서 HTML()
또는 display()
기능 을 사용해야합니다 .
from IPython.display import display, HTML
# Assuming that dataframes df1 and df2 are already defined:
print "Dataframe 1:"
display(df1)
print "Dataframe 2:"
display(HTML(df2.to_html()))
그냥 print df1.to_html()
렌더링하지 않으면 원시 HTML을 얻을 수 있습니다.
IPython.core.display
같은 효과로 가져올 수도 있습니다
답변
from IPython.display import display
display(df) # OR
print df.to_html()
답변
이 답변은이 블로그 게시물의 두 번째 팁을 기반으로합니다. 28 Jupyter Notebook 팁, 요령 및 바로 가기
노트북 상단에 다음 코드를 추가 할 수 있습니다
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
이것은 Jupyter에게 변수 나 문장에 대한 결과를 자체 줄에 출력하도록 지시합니다. 따라서 다음을 포함하는 셀만 실행할 수 있습니다.
df1
df2
“두 데이터 세트 모두에 대해 아름다운 테이블을 인쇄합니다”.
답변
HTML을 엉망으로 만들지 않고 가능한 한 기본 인프라를 많이 사용합니다. Hbox 또는 VBox와 함께 출력 위젯을 사용할 수 있습니다.
import ipywidgets as widgets
from IPython import display
import pandas as pd
import numpy as np
# sample data
df1 = pd.DataFrame(np.random.randn(8, 3))
df2 = pd.DataFrame(np.random.randn(8, 3))
# create output widgets
widget1 = widgets.Output()
widget2 = widgets.Output()
# render in output widgets
with widget1:
display.display(df1)
with widget2:
display.display(df2)
# create HBox
hbox = widgets.HBox([widget1, widget2])
# render hbox
hbox
이 결과는 다음과 같습니다.
답변
표시 사이에 쉼표를 사용하여 두 df를 모두 표시 할 수있는 것 같습니다. 나는 github의 일부 노트북에서 이것을 발견했습니다. 이 코드는 Jake VanderPlas의 노트북에서 가져온 것입니다.
class display(object):
"""Display HTML representation of multiple objects"""
template = """<div style="float: left; padding: 10px;">
<p style='font-family:"Courier New", Courier, monospace'>{0}</p>{1}
</div>"""
def __init__(self, *args):
self.args = args
def _repr_html_(self):
return '\n'.join(self.template.format(a, eval(a)._repr_html_())
for a in self.args)
def __repr__(self):
return '\n\n'.join(a + '\n' + repr(eval(a))
for a in self.args)
display('df', "df2")
답변
Jupyter Notebook에서 DataFrame을 표시하려면 다음을 입력하십시오.
디스플레이 (Name_of_the_DataFrame)
예를 들면 다음과 같습니다.
디스플레이 (df)
답변
목록에 포함 된 데이터 프레임을 표시하려면
display(*dfs)