サイトアイコン アマチュア無線局JS2IIU

【Streamlit】st.column_config.ImageColumnの基本と使い方

こんにちは、JS2IIUです。

StreamltでDataFrameを表示する際に、画像を表示するためのst.column_config.ImageColumnを紹介します。今回もよろしくお願いします。

はじめに

st.column_config.ImageColumnは、Streamlitアプリ内のデータフレームに画像データを直接表示するための便利なクラスです。これを使うことで、製品や人物の画像など、視覚情報をデータと連携させたインタラクティブなUIを構築できます。

本記事では、ImageColumnの基本的な使い方、具体例、そして応用例を詳しく解説します。

st.column_config.ImageColumnとは

ImageColumnは、データフレームのセル内に画像を表示するためのStreamlitのカスタム列クラスです。この機能により、データに関連付けられた画像を直感的に確認できるインターフェイスを提供します。

主な用途

主なパラメータ

使用例

以下では、製品リストとそのサムネイル画像を表示する方法を示します。

例:商品一覧に画像を表示

import streamlit as st
import pandas as pd
from streamlit.column_config import ImageColumn

# データフレームを作成
data = {
    "Product": ["Laptop", "Smartphone", "Headphones"],
    "Thumbnail": [
        "https://placehold.jp/24/0000ff/ffffff/180x80.png?text=Laptop",
        "https://placehold.jp/24/0000ff/ffffff/180x80.png?text=Smartphone",
        "https://placehold.jp/24/0000ff/ffffff/180x80.png?text=Headphones"
    ]
}
df = pd.DataFrame(data)

# ImageColumnで列をカスタマイズ
column_config = {
    "Thumbnail": ImageColumn(
        label="製品サムネイル",
        help="各製品のサムネイル画像を表示します。",
        width="medium"
    )
}

# データフレームを表示
st.dataframe(df, column_config=column_config)

コード解説

サンプルで使った画像はこちらのサイトを活用しています。

placehold.jp | 簡単!ダミー画像作成
簡単!ダミー画像生成、モックアップ用画像作成ツール。文字やサイズ、メモを入れた仮の画像を簡単に作成できます。

注意点

セルの値は以下のいずれかである必要があります:

画像を取得するURL。これは、静的ファイルサービングによって配置された画像の相対URLでもかまいません。公開URLから利用できない場合は、任意のローカル画像を使うことはできないことに注意してください。
data:image/svg+xml;utf8,のようなSVG XMLを含むデータURL。
data:image/png;base64,iVBO…のようにBase64エンコードされた画像を含むデータURL。
画像カラムは今のところ編集できない。このコマンドはst.dataframeまたはst.data_editorのcolumn_configパラメータで使用する必要があります。

st.column_config.ImageColumn - Streamlit Docs
st.column_config.ImageColumn configures image columns for displaying images directly within dataframe cells from URLs or file paths.

まとめ

st.column_config.ImageColumnを使用することで、視覚的に魅力的なデータフレームを作成できます。商品リストや社員情報など、画像を使ったデータ表示に便利です。ぜひ活用して、使いやすいアプリケーションを構築してください。

次回は、エリアチャートデータを扱うst.column_config.AreaChartColumnについて解説します。お楽しみに!

公式ドキュメントはこちら:st.column_config.ImageColumn

最後まで読んでいただきありがとうございました。73

モバイルバージョンを終了