繁体   English   中英

Pandas / IPython Notebook:在数据框中包含并显示图像

[英]Pandas / IPython Notebook: Include and display an Image in a dataframe

我有一个pandas Dataframe,它还有一个带有图像文件名的列。 如何在DataFrame中显示图像?

我尝试了以下方法:

import pandas as pd
from IPython.display import Image

df = pd.DataFrame(['./image01.png', './image02.png'], columns = ['Image'])

df['Image'] = Image(df['Image'])

但是当我显示框架时,每列只显示图像对象的to_string表示。

    Image
0   IPython.core.display.Image object
1   IPython.core.display.Image object

这有什么解决方案吗?

谢谢你的帮助。

我建议使用格式化程序,而不是将html代码插入到数据框中。 不幸的是,您需要设置截断设置,因此长文本不会被“...”截断。

import pandas as pd
from IPython.display import Image, HTML

df = pd.DataFrame(['./image01.png', './image02.png'], columns = ['Image'])

def path_to_image_html(path):
    return '<img src="'+ path + '"/>'

pd.set_option('display.max_colwidth', -1)

HTML(df.to_html(escape=False ,formatters=dict(Image=path_to_image_html)))

我发现的解决方案是不使用IPython.display Image,而是使用IPython.display HTML和数据帧的to_html(escape = False)功能。

总而言之,它看起来像这样:

import pandas as pd
from IPython.display import Image, HTML

df = pd.DataFrame(['<img src="image01.png"/>', './image02.png'], columns = ['Image'])

HTML(df.to_html(escape=False))

我认为你误解了存储在数据框中的内容,并将其与显示方式混淆。 为了在html表格表示中显示图像,您必须编写自己的函数以在html表格单元格中插入图像标记。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM