將影象新增到 Pandas 資料框

Fariba Laiq 2024年2月15日
將影象新增到 Pandas 資料框

有時我們想建立一個由影象組成的 pandas 資料框。我們可以使用 Python Pandas 中的 HTML 模組來完成這項任務。

我們將影象的路徑轉換為 ​​HTML 標籤。然後,將資料框轉換為 HTML 表格並顯示影象。Python 有一個名為 HTML 的內建模組。我們可以在 Python 中編碼和解碼 HTML。

使用 HTML 模組在 Pandas DataFrame 中渲染影象

在以下程式碼中,我們建立了一個資料框,其中包含有關藝術家和繪畫標題的資訊。為了在這個資料框中顯示影象,我們將建立一個包含影象的路徑的列表。

我們將此列表作為列分配給資料框。我們建立了一個函式,通過將 <img src=path 連線起來,將路徑轉換為 HTML 的 img 標籤。

該函式還使用寬度屬性將影象調整為小比例。然後我們使用 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))))

輸出:

在 Pandas 資料框中新增影象

作者: 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