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

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

はじめに

データフレーム内にテキストデータが含まれている場合、その列をどのように表示すればより分かりやすくなるでしょうか?Streamlitのst.column_config.TextColumnを使うと、列のラベルやヘルプテキストの設定、入力制限の追加など、テキスト列を柔軟にカスタマイズできます。本記事では、このクラスの基本機能と実際の使用例を丁寧に解説します。

st.column_config.TextColumnとは

st.column_config.TextColumnは、データフレーム内のテキストデータを表示するための専用設定クラスです。以下のようなカスタマイズが可能です:

公式のシグネチャは以下の通りです:

st.column_config.TextColumn(
    label=None,
    *,
    width=None,
    help=None,
    disabled=None,
    required=None,
    default=None,
    max_chars=None,
    validate=None
)

主なパラメータの解説

1. label

2. width

3. help

4. disabled

5. required

6. default

7. max_chars

8. validate

実際の使用例

例1: 基本的な列設定

以下の例では、TextColumnを使って列にラベルとヘルプテキストを設定します。

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

# データフレームを作成
data = {"名前": ["Alice", "Bob", "Charlie"]}
df = pd.DataFrame(data)

# TextColumnの設定
column_config = {
    "名前": TextColumn(
        label="ユーザー名",
        help="登録されているユーザーの名前を表示します"
    )
}

# カスタム列設定でデータフレームを表示
st.data_editor(df, column_config=column_config)

結果

例2: 必須入力と最大文字数の制限

以下の例では、入力が必須であることと最大文字数を制限します。

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

# データフレームを作成
data = {"名前": ["Alice", "Bob", "Charlie"]}
df = pd.DataFrame(data)

# TextColumnの設定
column_config = {
    "名前": TextColumn(
        label="ユーザー名",
        required=True,
        max_chars=10
    )
}

# カスタム列設定でデータフレームを表示
st.data_editor(df, column_config=column_config)

結果


例3: 入力値のバリデーション

バリデーションを追加して、テキストに特定の条件を課します。

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

# データフレームを作成
data = {"名前": ["Alice", "Bob", "Charlie"]}
df = pd.DataFrame(data)

# TextColumnの設定
column_config = {
    "名前": TextColumn(
        label="ユーザー名",
        validate=r"^\d+$"  # アルファベットのみを許可
    )
}

# カスタム列設定でデータフレームを表示
st.dataframe(df, column_config=column_config)

結果

まとめ

st.column_config.TextColumnを使うことで、テキスト列の表示を簡単かつ柔軟にカスタマイズできます。ラベル変更や入力制限の設定、バリデーションの追加など、さまざまな用途に応用可能です。

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

次回は数値データのカスタマイズに役立つst.column_config.NumberColumnについて解説します!お楽しみに。

最後までお読みいただき、ありがとうございました。

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