pandas - print - pd set_option(' display max_columns 100
iPython NotebookでDataFrameをテーブルとして表示する (4)
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()
を
print df1.to_html()
するだけの場合、レンダリングされていない生のHTMLを取得することに注意してください。
同じ効果で
IPython.core.display
からインポートすることもできます
iPythonノートブックを使用しています。 私がこれを行うとき:
df
セルのある美しいテーブルを取得します。 ただし、これを行う場合:
df1
df2
最初の美しいテーブルは印刷されません。 これを試してみると:
print df1
print df2
テーブルを別の形式で印刷し、列をあふれさせ、出力を非常に高くします。
両方のデータセットの美しいテーブルを印刷するように強制する方法はありますか?
この回答は、このブログ投稿の2番目のヒントに基づいています: 28 Jupyter Notebookのヒント、トリック、ショートカット
ノートブックの上部に次のコードを追加できます
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
これにより、変数またはステートメントの結果を独自の行に出力するようJupyterに指示します。 したがって、次を含むセルのみを実行できます。
df1
df2
そして、「両方のデータセットの美しいテーブルを印刷」します。
表示の間にカンマを使用して、両方の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")
from IPython.display import display
display(df) # OR
print df.to_html()