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()




display