Pandas streamlight-将值\u counts/groupby应用于运行时选择的列
我试图根据Streamlight应用程序中动态选择的列,将value_counts方法应用于数据帧 这就是我想做的:Pandas streamlight-将值\u counts/groupby应用于运行时选择的列,pandas,pandas-groupby,streamlit,Pandas,Pandas Groupby,Streamlit,我试图根据Streamlight应用程序中动态选择的列,将value_counts方法应用于数据帧 这就是我想做的: 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
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)
通过上面的操作,我可以选择列并显示所选列的数据。我正在尝试查看如何在Streamlight应用程序的此输出上应用值\u计数
/分组方式
方法
如果我试着做下面的事情
st.table(new_df.value_counts())
我得到下面的错误
AttributeError: 'DataFrame' object has no attribute 'value_counts'
我认为问题在于将列列表传递给数据帧。当您将
[]
中的一列传递给数据帧时,将返回pandas.Series
对象(该对象具有值\u counts
方法)。但是当您传递一个列列表时,您会返回一个pandas.DataFrame
(它没有定义value\u counts
方法)