Подключенные фильтры с множественным выбором вstreamlitPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Подключенные фильтры с множественным выбором вstreamlit

Сообщение Anonymous »

Я хотел бы подключить параметры выбора для множественного выбора с потоковой подсветкой.
Предположим, что у меня есть следующий фрейм данных




Имя
Цвет




A
красный


А
синий


B
черный

< tr>
B
синий


C< /td>
зеленый


C
черный


C
синий


D
зеленый


D
желтый


D
белый




и два фильтра с множественным выбором (по одному для каждого уникального значения каждого столбца)
Мне хотелось бы следующее:
  • Когда конечный пользователь выбирает параметр (или параметры) для столбца «Имя», параметры другого множественного выбора для «Цвет» должны быть обновлены соответствующим образом, и наоборот.
Пока это моя неудачная попытка.

Код: Выделить всё

import streamlit as st
import pandas as pd

df = pd.DataFrame({

'Name': ['A', 'A', 'B', 'B', 'C', 'C', 'C', 'D', 'D', 'D', 'D'],
'Color':['red', 'blue', 'blue', 'black', 'black', 'green', 'blue',
'yellow', 'white', 'green', 'purple']
})

tmp = df.copy()

st.title("Connected filters examples")

st.markdown('
', unsafe_allow_html=True)

if 'color_class' in st.session_state:
if st.session_state.color_class:
tmp = tmp[tmp['Color'].isin(st.session_state.color_class)]
else:
tmp = df.copy()

name = st.multiselect(
'Choose Name',
tmp['Name'].unique(),
[], key='name_class')

if 'name_class' in st.session_state:
if st.session_state.name_class:
tmp = tmp[tmp['Name'].isin(st.session_state.name_class)]
else:
tmp = df.copy()

color = st.multiselect(
'Choose Color',
tmp['Color'].unique(),
[], key='color_class')

st.dataframe(tmp)
например, если конечные пользователи выбирают цвета «красный» и «зеленый», варианты имени должны быть «A», «C» и «D»


Подробнее здесь: https://stackoverflow.com/questions/749 ... -streamlit
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»