HOWTO · Pandas

Pandas はテーブルスタイルで DataFrame を表示する

このチュートリアルでは、display 関数の使用、ライブラリの集計、dataframe.style の使用など、さまざまなアプローチを使用して Pandas DataFrame をテーブルスタイルで表示する方法を示します。

このページの内容

Pandas は、非常に人気があり便利なデータサイエンスライブラリです。今日、データサイエンスに携わるすべての人が、Pandas を幅広く使用しています。データを表形式で表示します。これは、Excel ツールで表示される形式と非常によく似ています。Excel ツールを使用すると、他のユーザーにとってより魅力的で読みやすいようにさまざまな色やスタイルを追加して、作業シートやデータシートをカスタマイズできます。さまざまなテーブルスタイルで Pandas DataFrame を表示すると、データの視覚化が向上します。

tabulate ライブラリ、dataframe.styleIPython.display モジュールなど、さまざまなテーブルスタイルを使用して Pandas DataFrame をテーブル形式で表示する方法を紹介します。

IPython.display モジュールの display() 関数を使用して、テーブルに Pandas DataFrame を表示する

Pandas の DataFrame をテーブルスタイルで表示する最も簡単で簡単な方法は、IPython.display モジュールからインポートする display() 関数を使用することです。この関数は、DataFrame をインタラクティブで適切にフォーマットされた表形式で表示します。

display() 関数をよく理解するには、次の例を参照してください。

コード例:

from IPython.display import display
import pandas as pd

# creating a DataFrame
dict = {
    "Products": ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    "Price dollar": [350, 300, 400, 250],
    "Percentage Sale": [83, 99, 84, 76],
}
dataframe = pd.DataFrame(dict)

# displaying the DataFrame
display(dataframe)

出力:

Pandas のデータフレームを表形式で表示する-表示

Pandas DataFrame をテーブルスタイルで tabulate ライブラリを使用して表示する

上記の方法を使用すると、Pandas の DataFrame を整理されたテーブルスタイルの形式で表示できます。tabulate と呼ばれるライブラリを使用します。このライブラリは、Pandas の DataFrame を表示できるさまざまなスタイルで構成されています。

次の例では、pretty スタイルを使用して Pandas DataFrame を表示します。

コード例:

import pandas as pd
from tabulate import tabulate

# creating a DataFrame
dict = {
    "Students": ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    "Price dollar": [350, 300, 400, 250],
    "Percentage Sale": [83, 99, 84, 76],
}
dataframe = pd.DataFrame(dict)

# displaying the DataFrame
print(tabulate(dataframe, headers="keys", tablefmt="pretty"))

出力:

+---+--------------------+--------------+-----------------+
|   |      Students      | Price dollar | Percentage Sale |
+---+--------------------+--------------+-----------------+
| 0 | Intel Dell Laptops |     350      |       83        |
| 1 |     HP Laptops     |     300      |       99        |
| 2 |   Lenavo Laptops   |     400      |       84        |
| 3 |    Acer Laptops    |     250      |       76        |
+---+--------------------+--------------+-----------------+

tabulate ライブラリには、Pandas DataFrame のスタイリングに使用できる次のスタイルが含まれています。

  • plain
  • simple
  • github
  • grid
  • fancy_grid
  • pipe
  • orgtbl
  • jira
  • presto
  • pretty
  • psql
  • rst
  • mediawiki
  • moinmoin
  • youtrack
  • html
  • latex
  • latex_raw
  • latex_booktabs
  • textile

dataFrame.style を使用して、テーブルに Pandas DataFrame を表示する

Pandas Style API を使用して、Pandas DataFrame をテーブルスタイルで表示できます。次のコードでは、dataframe.style を使用します。dataframe.style を使用すると、Pandas DataFrame を表示するためのさまざまなフォーマットメソッドを含む Styler オブジェクトが返されます。

コード例:

import pandas as pd

# creating a DataFrame
dict = {
    "Students": ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    "Price dollar": [350, 300, 400, 250],
    "Percentage Sale": [83, 99, 84, 76],
}
dataframe = pd.DataFrame(dict)

# displaying the DataFrame
dataframe.style

出力:

Pandas のデータフレームをテーブルスタイルで表示する–dataframe.style

Pandas DataFrame のスタイリングテーブル

Pandas の DataFrame テーブルのスタイリングを強化するために、styler オブジェクトとチェーンすることでさまざまな組み込み関数を使用できます。

最大値の強調表示

スタイラーオブジェクトとチェーンして highlight_max() 関数を使用した次の例を参照してください。

コード例:

import pandas as pd

# creating a DataFrame
dict = {
    "Students": ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    "Price dollar": [350, 300, 400, 250],
    "Percentage Sale": [83, 99, 84, 76],
}
dataframe = pd.DataFrame(dict)

# displaying the DataFrame
dataframe.style.highlight_max()

出力:

Pandas のデータフレームをテーブルスタイルで表示する–dataframe.style.highlight_max

background_gradient() 関数を使用してヒートマップを作成する

次の例では、background_gradient() 関数を使用して、スタイラーオブジェクトとチェーンし、Pandas の DataFrame テーブル内にヒートマップを作成しました。

コード例:

import pandas as pd

# creating a DataFrame
dict = {
    "Students": ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    "Price dollar": [350, 300, 400, 250],
    "Percentage Sale": [83, 99, 84, 76],
}
dataframe = pd.DataFrame(dict)

# displaying the DataFrame
dataframe.style.background_gradient()

出力:

Pandas のデータフレームをテーブルスタイルで表示する–dataframe.style.background_gradient

Pandas DataFrame でテーブルのプロパティを設定する

次のように set_properties() 関数を使用して、Pandas の DataFrame テーブルの装飾を増やすことができます。

コード例:

import pandas as pd

# creating a DataFrame
dict = {
    "Students": ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    "Price dollar": [350, 300, 400, 250],
    "Percentage Sale": [83, 99, 84, 76],
}
dataframe = pd.DataFrame(dict)

# displaying the DataFrame
dataframe.style.set_properties(**{"border": "1.5px solid blue", "color": "red"})

出力:

Pandas のデータフレームをテーブルスタイルで表示する–dataframe.style.set_properties

カスタマイズされた関数を作成する

次のように、カスタマイズされた関数をスタイラーオブジェクトと一緒に使用することもできます。

コード例:

import pandas as pd
import numpy as np


def table_color(val):
    """
    Takes a scalar and returns a string with
    the css property `'color: red'` for less than 60 marks, green otherwise.
    """
    color = "green" if val > 60 else "red"
    return "color: % s" % color


# creating a DataFrame
dict = {
    "Computer Science": [77, 91, 47, 95],
    "Statistics": [83, 99, 74, 66],
    "English": [71, 67, 40, 55],
}

dataframe = pd.DataFrame(dict)

# displaying the DataFrame
dataframe.style.applymap(table_color)

出力:

Pandas のデータフレームをテーブルスタイルで表示する–dataframe.style.set_properties