[解決済み】Pandas DataFrameのより多くの列を見るために出力表示を拡大する方法は?
質問
インタラクティブモード、スクリプト実行モードのどちらかで、出力の表示幅を広げる方法はないでしょうか?
具体的には
describe()
関数で、Pandasの
DataFrame
. このとき
DataFrame
は5列(ラベル)幅で、私が望む記述統計が得られます。 しかし、もし
DataFrame
それ以上の列がある場合、統計は抑制され、次のようなものが返されます。
>> Index: 8 entries, count to max
>> Data columns:
>> x1 8 non-null values
>> x2 8 non-null values
>> x3 8 non-null values
>> x4 8 non-null values
>> x5 8 non-null values
>> x6 8 non-null values
>> x7 8 non-null values
6列でも7列でも"8"という値が与えられます。 この「"8"」とは何を指しているのでしょうか?
をドラッグしてみました。 IDLE ウィンドウを大きくしたり、quot;Configure IDLE"の幅オプションを増やしたりしましたが、効果がありません。
私がPandasを使用する目的は
describe()
は、基本的なデータ操作や調査を行うために、Stataのような2つ目のプログラムを使うのを避けるためです。
どのように解決するの?
アップデート:Pandas 0.23.4以降
これは必要ありません。Pandas はターミナルウィンドウの大きさを自動検出します。
pd.options.display.width = 0
. (古いバージョンについては、最下部を参照してください)。
pandas.set_printoptions(...)
は非推奨です。代わりに
pandas.set_option(optname, val)
または、同等に
pd.options.<opt.hierarchical.name> = val
. のように。
import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
以下は
のヘルプを表示します。
set_option
:
set_option(pat,value) - 指定されたオプションの値を設定する 利用可能なオプション 表示[chop_threshold, colheader_justify, column_space, date_dayfirst, date_yearfirst、エンコーディング、expand_frame_repr、float_format、height, line_width、max_columns、max_colwidth、max_info_columns、max_info_rows。 max_rows、max_seq_items、mpl_style、multi_sparse、notebook_repr_html。 pprint_nest_depth、precision、width]。 モード:[sim_interactive, use_inf_as_null]. パラメータ ---------- pat - 1つのオプションにマッチする str/regexp. 注意: 便宜上,部分マッチもサポートされていますが,その場合は 完全なオプション名 (例: *x.y.z.option_name*) を使用すると、将来的にコードが壊れる可能性があります。 のバージョンで、似たような名前の新しいオプションが導入された場合。 value - オプションの新しい値。 戻り値 ------- なし 発生 ------ そのようなオプションが存在しない場合はKeyError display.chop_threshold。[デフォルト:なし] [現在:なし] float または None フロート値に設定された場合、与えられたしきい値より小さいすべてのフロート値 は、repr や friends では正確に 0 として表示されます。 display.colheader_justify。[デフォルト:右] [現在:右]。 : '左'/'右' DataFrameFormatter で使用される、列ヘッダーの両端揃えを制御します。 display.column_space。[デフォルト: 12] [現在: 12]記述がありません。 display.date_dayfirst。[デフォルト: False] [現在: False] 説明はありません。 : boolean(ブーリアン True の場合、日付を日付けから順に表示、解析します(例:2005/01/20)。 display.date_yearfirst。[デフォルト: False] [現在: False] です。 : boolean(ブーリアン True の場合、2005/01/20 のように年を優先して日付を表示・解析します。 display.encoding。[デフォルト:UTF-8] [現在:UTF-8]。 : str/unicode デフォルトは、コンソールで検出されたエンコーディングです。 to_stringが返す文字列に使用するエンコーディングを指定する。 これらは一般にコンソールに表示されることを意図した文字列である。 display.expand_frame_repr: [デフォルト: True] [現在: True] です。 : boolean 幅の広いDataFrameに対して、DataFrame reprの全容を出力するかどうか。 を複数行にまたがる場合、`max_columns`は引き続き尊重されますが、出力は 幅が `display.width` を超える場合、複数のページにわたって折り返されます。 display.float_format。[デフォルト: なし] [現在: なし] 。 : callable callableは浮動小数点数を受け取り、その値を返す必要があります。 を文字列で返します。これは のように、SeriesFormatter のような場所で使用されます。 例として core.format.EngFormatter を参照してください。 display.height。[デフォルト: 60] [現在: 1000] です。 : int 非推奨。 (非推奨。代わりに `display.height` を使用する。) display.line_width: [デフォルト: 80] [現在: 1000]. : int 非推奨。 (非推奨。代わりに `display.width` を使用する。) display.max_columns: [デフォルト: 20] [現在: 500] です。 : int max_rows と max_columns は、__repr__() メソッドで使用され、以下のように決定されます。 to_string() または info() を使用してオブジェクトを文字列に変換します。 この場合 python/IPythonがターミナルで実行されている場合、これを0に設定するとPandasは は、ターミナルの幅を正しく自動検出し、より小さな の形式は、すべての列が縦に収まらない場合に使用します。IPythonのノートブックです。 IPython qtconsoleやIDLEはターミナルで実行されないため、以下のような問題があります。 は正しく自動検出することができません。 None'値は無制限を意味します。 display.max_colwidth: [デフォルト: 50] [現在: 50]. : int のReprにおける列の最大幅を文字数で指定する。 Pandasのデータ構造です。カラムがオーバーフローした場合、"..." のプレースホルダが出力に埋め込まれます。 display.max_info_columns: [デフォルト: 100] [現在: 100] : int max_info_columnsはDataFrame.infoメソッドで使用され、以下のように決定されます。 を表示します。 display.max_info_rows。[デフォルト: 1690785] [現在: 1690785] です。 : int または None max_info_rowsは、フレームが コンソールに報告する際に、そのカラムのヌルチェックを行います。 デフォルトは1,000,000行です。従って、DataFrameが1,000,000行以上ある場合 1,000,000行のNULLチェックは行われません。 列が表示され、その結果、表現にかかる時間が大幅に短縮されます。 をインタラクティブセッションで表示します。Noneの値は、常に は、NULLチェックを行います。 display.max_rows。[デフォルト:60] [現在:500]。 : int Pandas が印刷する際の最大行数を設定します。 を出力する。例えば、この値
古いバージョン情報です。その多くは非推奨となっています。
として @bmu
言及
Pandasは(デフォルトで)表示領域のサイズを自動検出し、オブジェクトの再利用がディスプレイに収まらない場合、サマリービューが使用されます。IDLEウィンドウのサイズ変更に言及しましたが、効果はありませんでした。もしあなたが
print df.describe().to_string()
は、IDLEウィンドウに収まるのでしょうか?
端末の大きさは
pandas.util.terminal.get_terminal_size()
(非推奨で削除されました) を含むタプルを返します。
(width, height)
を表示します。出力はIDLEウィンドウのサイズと一致していますか?問題があるかもしれません(以前、Emacsでターミナルを実行したときにありました)。
なお、自動検出を回避することは可能です。
pandas.set_printoptions(max_rows=200, max_columns=10)
は、行や列の数が与えられた制限を超えない限り、 決してサマリービューに切り替わりません。
max_colwidth」オプションは、各カラムの切り捨てられないフォームを見るのに役立ちます。
関連
-
Pythonコンテナのための組み込み汎用関数操作
-
PythonはWordの読み書きの変更操作を実装している
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] print関数の出力をフラッシュする(pythonの出力をバッファリング解除する)にはどうすればよいですか?
-
[解決済み] Pandas DataFrameの特定の列の値がNaNである行を削除する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
Pythonによるjieba分割ライブラリ
-
任意波形を生成してtxtで保存するためのPython実装
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み] データ型が理解できない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].