Streamlit - применение value_counts / groupby к столбцу, выбранному во время выполнения - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь применить метод value_counts к Dataframe на основе динамически выбранных столбцов в приложении Streamlit.

Это то, что я пытаюсь сделать:

if st.checkbox("Select Columns To Show"):
    all_columns = df.columns.tolist()
    selected_columns = st.multiselect("Select", all_columns)
    new_df = df[selected_columns]
    st.dataframe(new_df)

. Я выбираю столбцы и отображаю данные для выбранных столбцов. Я пытаюсь понять, как я могу применить метод value_counts / groupby к этому выводу в приложении Streamlit

Если я попытаюсь сделать следующее

st.table(new_df.value_counts())

, я получаю ошибку ниже

AttributeError: 'DataFrame' object has no attribute 'value_counts'

1 Ответ

0 голосов
/ 27 февраля 2020

Я считаю, что проблема заключается в передаче списка столбцов в фрейм данных. Когда вы передаете один столбец в [] в фрейм данных, вы возвращаете объект pandas.Series (который имеет метод value_counts). Но когда вы передаете список столбцов, вы получаете обратно pandas.DataFrame (для которого не определен метод value_counts).

...