Jupyter Notebook で Pandas のコードを実装しているときに同じような表示関連設定を繰り返し使うため,メモも兼ねてまとめておく.オプションは他にも多くあり,詳細はドキュメントに載っている.今回は Python 3.9 と Pandas 1.2.4 を前提とする.
オプション一覧を取得する 🎯
まず,Pandas では options
でオプション一覧(名前空間)を取得できる.例えば display
など.また options.display
でオプション一覧(display
名前空間)を取得できる.例えば chop_threshold
や colheader_justify
など多くある.
dir(pd.options) # ['compute', 'display', 'io', 'mode', 'plotting'] dir(pd.options.display) # ['chop_threshold', # 'colheader_justify', # 'column_space', # 'date_dayfirst', # 'date_yearfirst', # 'encoding', # 'expand_frame_repr', # 'float_format', # 'html', # 'large_repr', # 'latex', # 'max_categories', # 'max_columns', # 'max_colwidth', # 'max_info_columns', # 'max_info_rows', # 'max_rows', # 'max_seq_items', # 'memory_usage', # 'min_rows', # 'multi_sparse', # 'notebook_repr_html', # 'pprint_nest_depth', # 'precision', # 'show_dimensions', # 'unicode', # 'width']
次に get_option()
関数を使うと,オプション値を取得できる.以下では「表示する最低行数 display.min_rows
」と「表示する最大行数 display.max_rows
」と「表示する最大カラム数 display.max_columns
」のオプション値をサンプルとして取得している.なお,今回はデフォルト値として取得している.
pd.get_option('display.min_rows') # 10 pd.get_option('display.max_rows') # 60 pd.get_option('display.max_columns') # 20
また describe_option()
関数を使うと,オプションごとに詳細な説明文やデフォルト値を確認できる.便利!
pd.describe_option('display.max_rows') # display.max_rows : int # If max_rows is exceeded, switch to truncate view. Depending on # `large_repr`, objects are either centrally truncated or printed as # a summary view. 'None' value means unlimited. # # In case python/IPython is running in a terminal and `large_repr` # equals 'truncate' this can be set to 0 and pandas will auto-detect # the height of the terminal and print a truncated object which fits # the screen height. The IPython notebook, IPython qtconsole, or # IDLE do not run in a terminal and hence it is not possible to do # correct auto-detection. # [default: 60] [currently: 60]
DataFrame を全て表示する 🎯
Pandas で DataFrame を表示すると,以下のようにデフォルトでは省略される.表示する行数に関連するオプションは display.min_rows
と display.max_rows
で,データセットの行数が display.max_rows
を超える場合は display.min_rows
を表示するため,今回は「10行」表示されている.なお,今回は GitHub リポジトリ chendaniely/pandas_for_everyone に含まれているデータセット wine.csv
を使う.
wine = pd.read_csv('./wine.csv')
wine
そこで set_option()
関数を使って,オプション値を上書きする.display.max_rows
と display.max_columns
に None
を設定すると「上限なし」となり,DataFrame を省略せずに全て表示できるようになる(以下は 20 行目まで載せている).
pd.set_option('display.max_rows', None) pd.set_option('display.max_columns', None) wine
まとめ 🎯
Jupyter Notebook で Pandas のコードを実装しているときに DataFrame を全て表示するオプションを繰り返し使っていたため,メモも兼ねてまとめておくことにした.引き続き Pandas を試すぞー👌
おすすめ本
Pandas をもっと学ぶなら「Pandas ライブラリ活用入門」がおすすめ!
書評記事もあわせて読んでもらえればと!