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関連記事 - Pandas DataFrame
- Pandas DataFrame の列ヘッダーをリストとして取得する方法
- Pandas DataFrame 列を削除する方法
- Pandas で DataFrame 列を日時に変換する方法
- Pandas DataFrame で浮動小数点数 float を整数 int に変換する方法
- Pandas DataFrame を 1つの列の値で並べ替える方法
- Pandas group-by と Sum の集計を取得する方法