Bild zu Pandas Dataframe hinzufügen

Fariba Laiq 15 Februar 2024
Bild zu Pandas Dataframe hinzufügen

Manchmal möchten wir einen Pandas-Datenrahmen erstellen, der aus Bildern besteht. Wir können diese Aufgabe mit dem HTML-Modul in Python Pandas erreichen.

Wir konvertieren den Pfad des Bildes in ein HTML tag. Konvertieren Sie dann den Datenrahmen in eine HTML-Tabelle und zeigen Sie das Bild an. Python hat ein eingebautes Modul namens HTML. Wir können HTML in Python codieren und decodieren.

Verwenden Sie das HTML-Modul, um ein Bild in einem Pandas DataFrame zu rendern

Im folgenden Code haben wir einen Datenrahmen erstellt, der die Informationen über den Künstler und den Titel des Gemäldes enthält. Um die Bilder in diesem Datenrahmen anzuzeigen, erstellen wir eine Liste mit den Pfaden der Bilder.

Wir werden diese Liste dem Datenrahmen als Spalte zuweisen. Wir haben eine Funktion erstellt, die den Pfad in das HTML-Tag img konvertiert, indem sie <img src= mit path verkettet.

Die Funktion passt das Bild auch mithilfe des width-Attributs auf einen kleinen Maßstab an. Dann haben wir den Pandas-Datenrahmen mit der Methode to_html() in eine HTML-Tabelle konvertiert.

Wir haben die HTML-Methode aufgerufen, um die Bilder zu rendern. Zuletzt haben wir den gesamten Datenrahmen mit der Methode display() angezeigt.

Beispielcode:

# 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))))

Ausgabe:

Bild in Pandas-Datenrahmen hinzufügen

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

Verwandter Artikel - Pandas DataFrame