対話型モードまたはスクリプト実行モードで出力の表示を広げる方法はありますか?
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 の構成」の幅のオプションを増やしたりしましたが、効果はありませんでした。
ベストアンサー1
アップデート: 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、高さ、 行幅、最大列数、最大列幅、最大情報列数、最大情報行数、 最大行数、最大シーケンス項目数、mpl_style、マルチスパース、ノートブック再生成HTML、 pprint_nest_depth、精度、幅] モード。[sim_interactive、use_inf_as_null] パラメーター ---------- pat - 単一のオプションに一致する文字列/正規表現。 注: 便宜上、部分一致がサポートされていますが、 完全なオプション名(例:*xyzoption_name*)を使用すると、将来コードが壊れる可能性があります。 同様の名前を持つ新しいオプションが導入された場合のバージョン。 value - オプションの新しい値。 戻り値 ------- なし 昇給 ------ そのようなオプションが存在しない場合はKeyErrorが発生します display.chop_threshold: [デフォルト: なし] [現在: なし] : float または None 浮動小数点値に設定されている場合、指定されたしきい値より小さいすべての浮動小数点値 repr とその仲間によって正確に 0 として表示されます。 display.colheader_justify: [デフォルト: 右] [現在: 右] : '左右' 列ヘッダーの位置合わせを制御します。DataFrameFormatter によって使用されます。 display.column_space: [デフォルト: 12] [現在: 12]説明はありません。 display.date_dayfirst: [デフォルト: False] [現在: False] : ブール値 True の場合、日付を最初にして出力および解析します (例: 20/01/2005) display.date_yearfirst: [デフォルト: False] [現在: False] : ブール値 True の場合、年を先頭にして日付を出力および解析します (例: 2005/01/20) display.encoding: [デフォルト: UTF-8] [現在: UTF-8] : 文字列/ユニコード デフォルトでは、コンソールの検出されたエンコードが使用されます。 to_stringによって返される文字列に使用するエンコーディングを指定します。 これらは通常、コンソールに表示される文字列です。 display.expand_frame_repr: [デフォルト: True] [現在: True] : ブール値 ワイドデータフレームの完全なデータフレーム表現を出力するかどうか 複数行にわたる場合、`max_columns`は尊重されますが、出力は 幅が `display.width` を超える場合は、複数の「ページ」にまたがって折り返されます。 display.float_format: [デフォルト: なし] [現在: なし] : 呼び出し可能 呼び出し可能オブジェクトは浮動小数点数を受け入れて返す必要があります 数値の希望するフォーマットの文字列。これは SeriesFormatter などのいくつかの場所で。 例については、core.format.EngFormatter を参照してください。 display.height: [デフォルト: 60] [現在: 1000] : 整数 非推奨。 (非推奨です。代わりに `display.height` を使用してください。) display.line_width: [デフォルト: 80] [現在: 1000] : 整数 非推奨。 (非推奨です。代わりに `display.width` を使用してください。) display.max_columns: [デフォルト: 20] [現在: 500] : 整数 max_rowsとmax_columnsは__repr__()メソッドで使用され、 to_string() または info() は、オブジェクトを文字列に変換するために使用されます。 python/IPythonがターミナルで実行されている場合は0に設定でき、Pandas 端末の幅を正しく自動検出し、より小さい幅に切り替えます すべての列が垂直に収まらない場合のフォーマット。IPythonノートブック、 IPython qtconsoleやIDLEはターミナルでは実行されないので、 正しい自動検出が可能です。 「なし」の値は無制限を意味します。 display.max_colwidth: [デフォルト: 50] [現在: 50] : 整数 列の最大文字幅は、 Pandas データ構造。列がオーバーフローすると、「...」 プレースホルダーが出力に埋め込まれます。 display.max_info_columns: [デフォルト: 100] [現在: 100] : 整数 max_info_columnsはDataFrame.infoメソッドで使用され、 列ごとの情報が印刷されます。 display.max_info_rows: [デフォルト: 1690785] [現在: 1690785] : int または None max_info_rowsはフレームに表示する行の最大数です。 コンソールに再現するときに、その列に対して null チェックを実行します。 デフォルトは1,000,000行です。そのため、DataFrameに1,000,000行以上ある場合は、 1,000,000行を超えるとnullチェックは実行されません。 列と列の表現にかかる時間は大幅に短縮されます 対話型セッションで表示します。値がNoneの場合は常に 再生成時に null チェックを実行します。 display.max_rows: [デフォルト: 60] [現在: 500] : 整数 これは、印刷時にPandasが出力する行の最大数を設定します。 さまざまな出力を出力します。たとえば、この値はrepr() データフレームの場合は、完全な表現または要約表現のみが出力されます。 「なし」の値は無制限を意味します。 display.max_seq_items: [デフォルト: なし] [現在: なし] : int または None 長いシーケンスを整形する場合、`max_seq_items` を超えない が印刷されます。項目が省略されている場合は、追加で示されます 結果の文字列に「...」を追加します。 「なし」に設定すると、印刷される項目の数は無制限になります。 display.mpl_style: [デフォルト: なし] [現在: なし] : ブール これを「デフォルト」に設定すると、matplotlibで使用されるrcParamsが変更されます。 デフォルトでプロットにもっと魅力的な視覚スタイルを与えます。 これを None/False に設定すると、値が初期値に戻ります。 display.multi_sparse: [デフォルト: True] [現在: True] : ブール値 「sparsefy」MultiIndex表示(繰り返し表示しない) グループ内の外部レベルの要素) display.notebook_repr_html: [デフォルト: True] [現在: True] : ブール値 Trueの場合、IPythonノートブックはHTML表現を使用します。 Pandas オブジェクト (利用可能な場合)。 display.pprint_nest_depth: [デフォルト: 3] [現在: 3] : 整数 プリティープリント時に処理するネストされたレベルの数を制御します display.precision: [デフォルト: 7] [現在: 7] : 整数 浮動小数点出力精度(有効桁数)。これは 単なる提案 display.width: [デフォルト: 80] [現在: 1000] : 整数 表示文字数の幅。Python/IPythonが ターミナルではこれをNoneに設定することができ、Pandasは正しく自動検出します。 幅。 IPythonノートブック、IPython qtconsole、またはIDLEは、 端末なので幅を正しく検出することができません。 mode.sim_interactive: [デフォルト: False] [現在: False] : ブール値 テスト目的で対話モードをシミュレートするかどうか mode.use_inf_as_null: [デフォルト: False] [現在: False] : ブール値 TrueはNone、NaN、INF、-INFをnullとして扱うことを意味します(古い方法)。 False は None と NaN が null であるが、INF、-INF は null ではないことを意味します。 (新しい方法)。 def を呼び出します: pd.set_option(self, *args, **kwds)
古いバージョンの情報。その多くは廃止されています。
@bmu として言及されたPandas は (デフォルトで) 表示領域のサイズを自動検出し、オブジェクト repr がディスプレイに収まらない場合は概要ビューが使用されます。IDLE ウィンドウのサイズを変更しても効果がないとのことですが、変更するとprint df.describe().to_string()
IDLE ウィンドウに収まりますか?
端末のサイズはpandas.util.terminal.get_terminal_size()
(非推奨で削除済み) によって決定され、ディスプレイのサイズを含むタプルを返します(width, height)
。出力は IDLE ウィンドウのサイズと一致していますか? 問題がある可能性があります (Emacs で端末を実行するときに以前 1 つありました)。
自動検出をバイパスすることが可能であり、pandas.set_printoptions(max_rows=200, max_columns=10)
行数、列数が指定された制限を超えない場合は概要ビューに切り替わらないことに注意してください。
「max_colwidth」オプションは、各列の切り捨てられていない形式を確認するのに役立ちます。