10列のシンプルなcsvファイルがあります!
ノートブックで次のオプションを設定してcsvファイル(pandas dataframe)にある)を印刷すると、すべての列が左から右に印刷されず、最初の2つが印刷されます。下の次の2つなど。
このオプションを使用しましたが、なぜ機能しないのですか?
pd.option_context("display.max_rows",1,"display.max_columns",100)
これでもうまくいかないようです:
pandas.set_option('display.max_columns', None)
次のオプションがうまく機能する(IPython 2.3)よりも、ノートブックにデータを表示したいと思います。
import pandas as pd
from IPython.display import display
data = pd.read_csv('yourdata.txt')
オプションを直接設定する
pd.options.display.max_columns = None
display(data)
または、実際に正常に機能することを示したset_optionメソッドを使用します
pd.set_option('display.max_columns', None)
display(data)
スクリプト全体にこのオプションを設定したくない場合は、コンテキストマネージャを使用してください。
with pd.option_context('display.max_columns', None):
display(data)
これで問題が解決しない場合は、問題を再現するための最小限の例を挙げてください。
pandasにHTMLマークアップを返すように要求し、IPythonにHTMLテーブルをレンダリングさせることによって、すべてのデータを表示することもできます。
_import pandas as pd
from IPython.display import HTML
data = pd.read_csv('yourdata.csv')
HTML(data.to_html())
_
IPython 3.0.0とPython 3.4を使用して、@ Jakobで説明されているdisplay(data)
は、上下のスクロールバーと左右のスクロールバーを持つテーブルとしてレンダリングされますが、テーブルは依然としてセルよりも幅が広く、一部の列は画面の右側にあります。すべてのデータを表示するには、セルを折りたたむ必要があります。これにより、スクロールバーが追加されます。その結果、スクロールボックスにスクロールボックスがありません。 2つのスクロールバー間でフォーカスを移動して、データ全体を移動する必要があるため、理想的です。
HTMLメソッドを使用して、スクロールバーなしで巨大なテーブルをそのままレンダリングします。その後、このセルを折りたたんで、垂直バーと水平バーを1つだけ表示することができます。
HTMLを使用する際の注意点は、テーブルのレンダリングに時間がかかることです。 150x50までのマトリックスのみを使用しており、速度の違いは顕著でしたが、不便ではありませんでした。巨大なテーブルがある場合は、このメソッドを使用して一度にすべてを表示しないでください。とは言っても、巨大なテーブルがある場合、一度にすべてをレンダリングすることは明らかに悪い考えですが、それをやろうとするとします。
この質問は、Googleでの最初のヒットの1つとして見つかりました。ジュピターラボでは、
pandas.set_option("display.max_columns", None)
今はうまく機能しているようです-私の例は32列でしたが、以前は切り捨てられていて、それ以上ではありません。