HOWTO · Pandas
Bild zu Pandas Dataframe hinzufügen
Dieses Tutorial demonstriert das Hinzufügen von Bildern zu Pandas-Datenrahmen in Python Pandas.
Auf dieser Seite
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: