Pandas の DataFrame はデフォルトでは行数や列数が多いときに「…」と省略して表示されます。
これは便利な反面、全体を見たいときには不便です。
ここでは省略されないようにする方法を詳しく解説します。
目次
pd.set_option
を使う方法
Pandas には表示設定を制御するオプションがあり、それを変更することで省略を防げます。
前提となるサンプルコード
import pandas as pd
# サンプル用に大きめのデータフレームを作成
df = pd.DataFrame({
"A": range(1, 101),
"B": ["text_" + str(i) * 5 for i in range(1, 101)], # 長い文字列
"C": [i**2 for i in range(1, 101)]
})
print("=== デフォルトの表示 ===")
print(df)
行を省略しない
pd.set_option('display.max_rows', None)
print("=== 行を省略しない表示 ===")
print(df)
# 元に戻す
pd.reset_option('display.max_rows')
列を省略しない
pd.set_option('display.max_columns', None)
print("=== 列を省略しない表示 ===")
print(df)
# 元に戻す
pd.reset_option('display.max_columns')
列幅を広げる
pd.set_option('display.max_colwidth', None)
print("=== 列幅を省略しない表示 ===")
print(df)
# 元に戻す
pd.reset_option('display.max_colwidth')
一時的に全表示する (option_context
)
print("=== option_context で一時的に全表示 ===")
with pd.option_context('display.max_rows', None, 'display.max_columns', None, 'display.max_colwidth', None):
print(df)
# ここを抜けると設定は自動的に元に戻る
Jupyter Notebook での注意点
- Jupyter Notebook ではスクロールがしやすいため、あまりに行数が多いときには
None
ではなく「ある程度の上限」を設定するのが現実的です。pd.set_option('display.max_rows', 200) # 最大200行まで表示
まとめ
pd.set_option
で表示オプションを変更すれば省略されない。None
を指定すると無制限で表示。reset_option
で元に戻せる。- 一時的なら
pd.option_context
が便利。
以上、Pandasのデータフレームの表示を省略しない方法についてでした。
最後までお読みいただき、ありがとうございました。