珍しくDatabricksに関係のない話題、単に詰まったので。
こちらで、ラジオボタンを作成することはできたのですが、戻り値はラジオボタンのテキストです。これに整数値を割り当てて、後段の処理に渡そうと思ったのですがやり方がわからず。
結局のところ、以下の方法で行けました。
Python
is_red = st.radio("", ("赤ワイン", "白ワイン"), horizontal=True, args=[1, 0])
if is_red == "赤ワイン":
is_red = 1
else:
is_red = 0
もしかしたら、もっとスマートな方法があるのかもしれませんが。
スマートな方法、@iizukak09さんに教えてもらいました。Enum
を使ってラベルと数値を紐づけるという方法。なるほど。
Python
import streamlit as st
from enum import Enum
class Choice(Enum):
def __str__(cls):
return cls.name
赤ワイン = 1
白ワイン = 0
is_red = st.radio("どちらのワインがお好みですか?", Choice, horizontal=True)
st.write(f'選択:{is_red}')
if is_red.value == 1:
st.write("ではピノ・ノワールにしましょう")
elif is_red.value == 0:
st.write("ではリースリングにしましょう")