DS JUNKSTAブログ

元文系院卒が独学で取り組むDS(データサイエンス)、その有象無象のアウトプット、DSは本当に楽しい

【Streamlit/Python】キャッシュ機能を利用してデータを読み込む

PythonのWebアプリケーション・フレームワークの一つであるStreamlitを用いて、業務で使用するデータ可視化ツールを作成している。
Streamlitの開発では、ローカルサーバーにつないでブラウザ上でアプリケーションの見え方を確認し、
コードを変更するごとにブラウザを更新することになるが、めちゃくちゃ重いデータセットを扱う際、
キャッシュ機能を利用するととても便利だったので以下をまとめる。


関数に @st.cache

データセットを読み込む関数の前に@st.cacheをつけるだけ!


@st.cache
def import_tb_dataset(dataset):
	df = pd.read_csv(r'{}'.format(dataset))
	return df


ただし、元となるデータに変更があった場合、再読み込みで時間がかかることになるので注意。
キャッシュが利用できなかった場合エラーメッセージなどオプションが設定できるが、詳細は👇の公式ドキュメントを参照のこと。

ブラウザを更新する度にいちいちクソでかビッグデータを読み込むのは本当に煩雑なので、とても助かる。