コンテンツにスキップ

データを表示する

データ分析アプリにおいて、データを表形式で確認したり、重要な数値を強調表示したりすることは不可欠です。StreamlitはPandasのDataFrameと親和性が高く、そのまま渡すだけで表示できます。

主な関数は以下の通りです。

  • st.dataframe(): ソートやリサイズが可能なインタラクティブな表を表示します。
  • st.table(): 全行全列を表示する静的な表を表示します(データ量が多いと縦に長くなるので注意)。
  • st.metric(): 気温、売上、株価などの単一の数値を大きく表示します。

以下のサンプルコードを確認してみましょう。

data_display.py
import streamlit as st
import pandas as pd
st.title("データの表示")
# サンプルデータの作成
df = pd.DataFrame({
"名前": ["Alice", "Bob", "Charlie", "David"],
"年齢": [24, 30, 22, 35],
"スコア": [88, 92, 79, 85]
})
st.subheader("インタラクティブな表 (st.dataframe)")
st.dataframe(df)
st.subheader("静的な表 (st.table)")
st.table(df.head(2)) # 上位2行だけ表示
st.subheader("指標の表示 (st.metric)")
# カラムを使って横並びにする
col1, col2 = st.columns(2)
col1.metric(label="現在の気温", value="24 °C", delta="1.2 °C")
col2.metric(label="湿度", value="45 %", delta="-5 %")

st.dataframe で表示された表は、列名のクリックでソートしたり、右上からCSVとしてダウンロードしたりできます。 また、st.metricdelta 引数を使うと、前日比などを色付きで表現できます。