Pandasでデータフレームを見やすくプリント(print)する方法

はじめに

データ分析の分野でよく使われるPythonライブラリの一つであるPandasは、表形式のデータを扱う際に非常に便利です。しかし、データフレームが大きくなると、表示が見にくくなることがあります。そこで、本記事では、Pandasを使ってデータフレームを見やすくプリント(print)する方法を紹介します。

Pandasとは:簡単な説明と主な機能の紹介

Pandasは、表形式のデータを扱うためのPythonライブラリです。Pandasを使うことで、データフレームを簡単に操作することができます。Pandasの主な機能としては、以下のものがあります。

  • データフレームの作成・読み込み
  • データフレームの操作(列の追加・削除、行の選択・フィルタリング、結合など)
  • データのグループ化、集約、変換
  • データの可視化
  • データの入出力(CSV、Excel、SQLデータベースなど)

データフレーム表示のデフォルト設定

Pandasには、データフレームの表示方法を調整するための設定があります。データフレームの表示設定には、以下のようなものがあります。

  • 表示幅
  • 表示する行数
  • 小数点以下の桁数

データフレームの表示設定は、Pandasのデフォルト設定である場合があります。デフォルト設定では、表示幅が80文字、表示する行数が10行、小数点以下の桁数が2桁に設定されています。

以下のように、データフレームを表示するときに、デフォルト設定を使用することができます。

import pandas as pd
df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
    'age': [25, 32, 18, 47, 22],
    'gender': ['F', 'M', 'M', 'M', 'F'],
    'height': [165.2, 180.1, 175.0, 182.0, 160.5],
    'weight': [57.0, 80.5, 68.0, 90.2, 52.3],
    'score': [80.5, 92.3, 73.0, 65.8, 88.0]
})
print(df)

上記のコードを実行すると、以下のようにデータフレームが表示されます。

      name  age gender  height  weight  score
0    Alice   25      F   165.2    57.0   80.5
1      Bob   32      M   180.1    80.5   92.3
2  Charlie   18      M   175.0    68.0   73.0
3    David   47      M   182.0    90.2   65.8
4      Eva   22      F   160.5    52.3   88.0

表示設定変更方法1:データフレームの表示幅や行数を調整する方法

データフレームの表示幅や行数を調整するには、Pandasの設定を変更する必要があります。以下のように、pandas.set_option()関数を使用して、表示幅や行数を設定することができます。

import pandas as pd
pd.set_option('display.width', 1000)
pd.set_option('display.max_rows', 20)
df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'] * 100,
    'age': [25, 32, 18, 47, 22] * 100,
    'gender': ['F', 'M', 'M', 'M', 'F'] * 100,
    'height': [165.2, 180.1, 175.0, 182.0, 160.5] * 100,
    'weight': [57.0, 80.5, 68.0, 90.2, 52.3] * 100,
    'score': [80.5, 92.3, 73.0, 65.8, 88.0] *100
})
print(df)

上記のコードを実行すると、以下のようにデータフレームが表示されます。

        name  age gender  height  weight  score
0      Alice   25      F   165.2    57.0   80.5
1        Bob   32      M   180.1    80.5   92.3
2    Charlie   18      M   175.0    68.0   73.0
3      David   47      M   182.0    90.2   65.8
4        Eva   22      F   160.5    52.3   88.0
..       ...  ...    ...     ...     ...    ...
495    Alice   25      F   165.2    57.0   80.5
496      Bob   32      M   180.1    80.5   92.3
497  Charlie   18      M   175.0    68.0   73.0
498    David   47      M   182.0    90.2   65.8
499      Eva   22      F   160.5    52.3   88.0

[500 rows x 6 columns]

Process finished with exit code 0

上記の例では、表示幅を1000に、表示する行数を20行に設定しています。このように、pandas.set_option()関数を使用することで、データフレームの表示方法を調整することができます。

表示設定変更方法2:小数点以下の桁数を制御する方法

データフレームに含まれる数値データの小数点以下の桁数を制御する方法もあります。以下のように、pandas.set_option()関数を使用して、小数点以下の桁数を設定することができます。

import pandas as pd

pd.set_option('display.float_format', '{:.2f}'.format)
df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
    'age': [25, 32, 18, 47, 22],
    'gender': ['F', 'M', 'M', 'M', 'F'],
    'height': [165.2, 180.1, 175.0, 182.0, 160.5],
    'weight': [57.0, 80.5, 68.0, 90.2, 52.3],
    'score': [80.5, 92.3, 73.0, 65.8, 88.0]
})
print(df)

上記のコードを実行すると、以下のようにデータフレームが表示されます。

      name  age gender  height  weight  score
0    Alice   25      F  165.20   57.00  80.50
1      Bob   32      M  180.10   80.50  92.30
2  Charlie   18      M  175.00   68.00  73.00
3    David   47      M  182.00   90.20  65.80
4      Eva   22      F  160.50   52.30  88.00

上記の例では、'{:.2f}’.formatによって小数点以下の桁数を2桁に制御しています。

表示設定変更方法3:データフレームを複数ページに分けて表示する方法

# その場合には、データフレームを複数ページに分けて表示する方法があります。以下のように、pandas.set_option()関数を使用して、データフレームを表示するページ数を設定することができます。

import pandas as pd

pd.set_option('display.max_rows', 10)
df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'] * 10,
    'age': [25, 32, 18, 47, 22] * 10,
    'gender': ['F', 'M', 'M', 'M', 'F'] * 10,
    'height': [165.2, 180.1, 175.0, 182.0, 160.5] * 10,
    'weight': [57.0, 80.5, 68.0, 90.2, 52.3] * 10,
    'score': [80.5, 92.3, 73.0, 65.8, 88.0] * 10
})

print(df)

データフレームが長くなった場合には、1ページに表示しきれないことがあります。

上記のコードを実行すると、以下のようにデータフレームが表示されます。

       name  age gender  height  weight  score
0     Alice   25      F   165.2    57.0   80.5
1       Bob   32      M   180.1    80.5   92.3
2   Charlie   18      M   175.0    68.0   73.0
3     David   47      M   182.0    90.2   65.8
4       Eva   22      F   160.5    52.3   88.0
..      ...  ...    ...     ...     ...    ...
45    Alice   25      F   165.2    57.0   80.5
46      Bob   32      M   180.1    80.5   92.3
47  Charlie   18      M   175.0    68.0   73.0
48    David   47      M   182.0    90.2   65.8
49      Eva   22      F   160.5    52.3   88.0

[50 rows x 6 columns]

Process finished with exit code 0

上記の例では、表示する行数を10行に設定しています。このように、pandas.set_option()関数を使用することで、データフレームを複数ページに分けて表示することができます。

まとめ

Pandasでは、pandas.set_option()関数を使用して、データフレームの表示方法を調整することができます。以下のような方法があります。

  • データフレームの表示幅や行数を調整する方法
  • 小数点以下の桁数を制御する方法
  • データフレームを複数ページに分けて表示する方法

これらの方法を活用することで、データフレームを見やすく表示することができます。