Pandas データフレームに画像を追加

Fariba Laiq 2022年6月13日
Pandas データフレームに画像を追加

画像で構成されるパンダデータフレームを作成したい場合があります。Python Pandas の HTML モジュールを使用して、このタスクを実行できます。

画像のパスを HTML タグに変換します。次に、データフレームを HTML テーブルに変換し、画像を表示します。Python には、HTML と呼ばれる組み込みモジュールがあります。HTML を Python でエンコードおよびデコードできます。

Pandas DataFrame で HTML モジュールを使用して画像をレンダリングする

次のコードでは、アーティストと絵画のタイトルに関する情報を含むデータフレームを作成しました。このデータフレームに画像を表示するために、画像のパスを含むリストを作成します。

このリストを列としてデータフレームに割り当てます。 <img src=path と連結することにより、パスを HTML の img タグに変換する関数を作成しました。

この関数は、width 属性を使用して画像のサイズを小さくします。次に、to_html() メソッドを使用して、pandas データフレームを HTML テーブルに変換しました。

HTML メソッドを呼び出して画像をレンダリングしました。最後に、display() メソッドを使用してデータフレーム全体を表示しました。

サンプルコード:

# Python 3.x
import pandas as pd
from IPython.core.display import HTML

df = pd.DataFrame(
    [
        ["Van Gogh", "Starry Night"],
        ["Van Gogh", "Sunflowers"],
        ["Van Gogh", "Cafe Terrace at Night"],
    ],
    columns=["Artist", "Painting Title"],
)
painting_images = [
    "https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg/1200px-Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg",
    "https://iiif.micr.io/TZCqF/full/1280,/0/default.jpg",
    "https://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Vincent_Willem_van_Gogh_-_Cafe_Terrace_at_Night_%28Yorck%29.jpg/816px-Vincent_Willem_van_Gogh_-_Cafe_Terrace_at_Night_%28Yorck%29.jpg",
]
df["Painting"] = painting_images


def to_img_tag(path):
    return '<img src="' + path + '" width="50" >'


display(HTML(df.to_html(escape=False, formatters=dict(Painting=to_img_tag))))

出力:

パンダデータフレームに画像を追加

著者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

関連記事 - Pandas DataFrame