Agregar imagen al dataframe de Pandas
A veces queremos crear un dataframe de pandas que consta de imágenes. Podemos lograr esta tarea usando el módulo HTML en Python Pandas.
Convertiremos la ruta de la imagen a una etiqueta HTML
. Luego, convierta el dataframe en una tabla HTML y muestre la imagen. Python tiene un módulo incorporado llamado HTML
. Podemos codificar y decodificar HTML en Python.
Use el módulo HTML para representar la imagen en un dataframe de Pandas
En el siguiente código, hemos creado un dataframe que contiene la información sobre el artista y el título de la pintura. Para mostrar las imágenes en este dataframe, haremos una lista que contenga las rutas
de las imágenes.
Asignaremos esta lista al dataframe como una columna. Hemos creado una función que convierte la ruta a la etiqueta img
del HTML concatenando <img src=
con la path
.
La función también cambia el tamaño de la imagen a una escala pequeña usando el atributo de ancho. Luego hemos convertido el dataframe de pandas en una tabla HTML usando el método to_html()
.
Llamamos al método HTML para representar las imágenes. Por último, mostramos todo el dataframe usando el método display()
.
Código de ejemplo:
# 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))))
Producción:
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.
LinkedInArtículo relacionado - Pandas DataFrame
- Cómo obtener las cabeceras de columna de Pandas DataFrame como una lista
- Cómo borrar la columna de Pandas DataFrame
- Cómo convertir la columna del DataFrame a Datetime en Pandas
- Cómo convertir un float en un entero en Pandas DataFrame
- Cómo clasificar Pandas DataFrame por los valores de una columna
- Cómo obtener el agregado de Pandas grupo por y suma