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))))
出力:
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