次のDataFrame
の表示に問題があります:
n = 100
foo = DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
foo
問題は、ipythonノートブックのデフォルトごとにすべての行が印刷されないことですが、結果の行を表示するにはスライスする必要があります。次のオプションでも出力は変更されません。
pd.set_option('display.max_rows', 500)
誰もアレイ全体を表示する方法を知っていますか?
バージョン0.11.0では、display.height
とdisplay.max_rows
の両方を変更する必要があります。
pd.set_option('display.height', 500)
pd.set_option('display.max_rows', 500)
pd.describe_option('display')
も参照してください。
個人的には、iPythonのおかげでタブ補完で簡単に見つけることができるため、割り当てステートメントでオプションを直接設定するのが好きです。正確なオプション名を思い出すのは難しいので、この方法はうまくいきます。
たとえば、覚えておく必要があるのは、pd.options
で始まることです
pd.options.<TAB>
ほとんどのオプションはdisplay
で利用できます
pd.options.display.<TAB>
ここから、通常、現在の値が次のようになることを出力します。
pd.options.display.max_rows
60
それから私はそれを私が望むものに設定しました:
pd.options.display.max_rows = 100
また、オプションのコンテキストマネージャについても知っておく必要があります。コンテキストマネージャは、コードブロック内のオプションを一時的に設定します。オプション名を、必要な値が後に続く文字列として渡します。同じ行に任意の数のオプションを渡すことができます。
with pd.option_context('display.max_rows', 100, 'display.max_columns', 10):
some pandas stuff
次のようにオプションをデフォルト値にリセットすることもできます。
pd.reset_option('display.max_rows')
そして、それらすべてをリセットします。
pd.reset_option('all')
pd.set_option
を介してオプションを設定することは依然として完全に適切です。属性を直接使用する方が簡単で、get_option
とset_option
の必要性が少ないことに気付きました。
@hanleyhansenがコメントで指摘したように、バージョン0.18.1の時点で、display.height
オプションは廃止され、「代わりにdisplay.max_rows
を使用する」と述べられています。したがって、次のように設定する必要があります。
pd.set_option('display.max_rows', 500)
リリースノート— pandas 0.18.1ドキュメント を参照してください。
非推奨のdisplay.height、display.widthは、0.11.0に似た、サマリーのトリガーを制御しないフォーマットオプションのみになりました。
this comment および this answer で既に指摘されていましたが、質問に対してより直接的な回答をしようとします。
from IPython.display import display
import numpy as np
import pandas as pd
n = 100
foo = pd.DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
with pd.option_context("display.max_rows", foo.shape[0]):
display(foo)
pandas.option_context は、pandas 0.13.1以降で利用可能です( pandas 0.13.1リリースノート )。 this によると、
[it] withブロックを終了すると、以前の設定に戻る一連のオプションでコードブロックを実行できます。