Pandas 表示設定変更の完全ガイド:小数点、有効数字、行・列数を自在に操る 📊


 

Pandasでデータ分析を行う際、データフレームの見やすさは作業効率に直結します。特に、小数点以下の桁数、有効数字、そして表示される行数や列数を調整する機能は、日々の作業で頻繁に利用する重要な設定です。これらの表示設定を適切にカスタマイズすることで、データの洞察を深め、レポート作成時の手間を省くことができます。

この記事では、Pandasの表示設定を細かく変更する方法を、具体的なコード例を交えながら詳しく解説します。


 

Pandasの表示設定とは?

 

Pandasは、データフレームやシリーズを表示する際の多くのオプションを提供しています。これらのオプションは、ユーザーがデータをどのように見たいかに応じて、柔軟に調整できます。例えば、数値データの表示形式、大きなデータセットの表示制限、インデックスの表示・非表示などが設定可能です。

設定を変更することで、以下のようなことが可能になります。

  • 数値の丸め処理: 意図しない精度の低下を防ぎつつ、見やすい数値表示を実現。

  • データ全体の把握: 大規模なデータフレームでも、すべての行や列を確認できるようになる。

  • レポート作成の効率化: スクリーンショットや出力結果をそのまま使える形で整形。


 

表示設定の確認と変更の基本 🛠️

 

Pandasの表示設定は、pd.get_option()で確認し、pd.set_option()で変更するのが基本です。また、pd.optionsオブジェクトを使って直接設定することも可能です。

 

1. 個別のオプション設定を確認する: pd.get_option()

 

特定の表示設定の現在の値を知りたい場合は、pd.get_option()にオプション名を文字列で指定します。

Python
 
import pandas as pd

# 現在の最大表示行数を確認
print(pd.get_option('display.max_rows'))

# 現在の小数点表示形式を確認
print(pd.get_option('display.float_format'))

 

2. オプション設定を変更する: pd.set_option()

 

表示設定を変更するには、pd.set_option()にオプション名と新しい値を指定します。

Python
 
import pandas as pd

# データフレームの最大表示行数を500行に変更
pd.set_option('display.max_rows', 500)

# 浮動小数点数の表示形式を小数点以下2桁に設定
pd.set_option('display.float_format', '{:.2f}'.format)

 

3. pd.optionsオブジェクトを使った変更

 

pd.optionsオブジェクトは、全てのオプション設定を属性として持っています。これにより、より直感的に設定を変更できます。

Python
 
import pandas as pd

# 最大表示列数をNone(制限なし)に変更
pd.options.display.max_columns = None

 

主要な表示設定とその活用例 🌟

 

データ分析で特によく使われる、表示に関するオプション設定をいくつかご紹介します。

 

1. 小数点以下の桁数と有効数字 (display.float_format, display.precision)

 

数値データの表示精度を調整します。

  • display.float_format: 浮動小数点数の表示形式を柔軟に設定できます。文字列のフォーマット指定子を使用します。

  • display.precision: (Pandas 2.0以降推奨)浮動小数点数の有効数字を指定します。

Python
 
import pandas as pd
import numpy as np

# サンプルデータフレームを作成
df = pd.DataFrame({
    'A': [0.123456789, 1234.56789, 0.000123],
    'B': [987.654321, 0.00000456, 7.891234]
})

print("--- デフォルトの表示 ---")
print(df)

# 小数点以下2桁に設定
pd.set_option('display.float_format', '{:.2f}'.format)
print("\n--- 小数点以下2桁に設定 ---")
print(df)

# 有効数字を3桁に設定 (Pandas 2.0以降)
# 古いPandasバージョンでは'display.precision'は'display.float_format'と併用できない場合があります
pd.set_option('display.precision', 3)
print("\n--- 有効数字を3桁に設定 ---")
print(df)

# 設定をリセット
pd.reset_option('display.float_format')
pd.reset_option('display.precision')

 

2. 最大表示行数・列数 (display.max_rows, display.max_columns)

 

データフレームが大きすぎる場合に、表示される行や列の数を制限します。

  • display.max_rows: 表示される最大行数を指定します。Noneを設定するとすべての行が表示されます。

  • display.max_columns: 表示される最大列数を指定します。Noneを設定するとすべての列が表示されます。

Python
 
import pandas as pd

# 大きなデータフレームを作成
df_large = pd.DataFrame(np.random.rand(50, 10), columns=[f'col_{i}' for i in range(10)])

print("--- デフォルトの表示 (行が省略される可能性あり) ---")
print(df_large)

# 最大行数を10に制限
pd.set_option('display.max_rows', 10)
print("\n--- 最大行数を10に制限 ---")
print(df_large)

# 最大列数を5に制限
pd.set_option('display.max_columns', 5)
print("\n--- 最大列数を5に制限 ---")
print(df_large)

# 全ての行と列を表示
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
print("\n--- 全ての行と列を表示 ---")
print(df_large)

# 設定をリセット
pd.reset_option('display.max_rows')
pd.reset_option('display.max_columns')

 

3. 表示幅 (display.width)

 

コンソールやJupyter Notebookなどの出力幅に合わせて、データフレームの表示幅を調整します。

Python
 
import pandas as pd

# サンプルデータフレーム
df_wide = pd.DataFrame({'長い列名_1': range(3), '長い列名_2': range(3, 6), '長い列名_3': range(6, 9)})

print("--- デフォルトの表示 ---")
print(df_wide)

# 表示幅を小さく設定
pd.set_option('display.width', 40)
print("\n--- 表示幅を40に設定 ---")
print(df_wide)

# 設定をリセット
pd.reset_option('display.width')

 

4. 列の最大表示文字数 (display.max_colwidth)

 

各列に表示される文字列の最大文字数を指定します。長い文字列が途中で省略されるのを防ぎたい場合に便利です。

Python
 
import pandas as pd

df_text = pd.DataFrame({
    'text_data': ['これは非常に長いテキストの例です。Pandasの表示設定でどのように表示されるか確認しましょう。',
                  '短いテキスト']
})

print("--- デフォルトの表示 ---")
print(df_text)

# 最大文字数を20に設定
pd.set_option('display.max_colwidth', 20)
print("\n--- 最大文字数を20に設定 ---")
print(df_text)

# 最大文字数をNone(制限なし)に設定
pd.set_option('display.max_colwidth', None)
print("\n--- 最大文字数をNoneに設定 ---")
print(df_text)

# 設定をリセット
pd.reset_option('display.max_colwidth')

 

まとめ

 

Pandasの表示設定をマスターすることは、より効率的で快適なデータ分析ワークフローを構築するための鍵となります。これらの設定を適切に使いこなすことで、データの視認性を高め、分析結果の理解を深めることができます。ぜひ、ご自身の分析ニーズに合わせて様々なオプションを試してみてください。