【问题标题】:Filtering dataframe based on streamlit date_input基于streamlit date_input过滤数据帧
【发布时间】:2021-10-27 11:00:39
【问题描述】:

我试图根据 streamlit date_input() 函数st.date_input() 过滤我的数据帧。 我的专栏 CREATEDDATE 是日期时间格式:

df = ld.load_data_projet()

start_date = st.date_input('Date de début :')
end_date = st.date_input('Date de fin :')
if start_date < end_date:
    pass
else:
    st.error('Error: Date de fin doit être choisi après la dete de début.')

mask = (df['CREATEDDATE'] > start_date) & (df['CREATEDDATE'] <= end_date)
df = df.loc[mask]
# And display the result!
st.dataframe(df)

结果显示了这个错误信息:

您知道问题的原因吗?

【问题讨论】:

    标签: python streamlit


    【解决方案1】:

    像这样转换日期列:

    df['CREATEDDATE']= pd.to_datetime(df['CREATEDDATE']).dt.date
    

    最后代码显示如下:

    start_date, end_date = st.date_input('Choisir date de début, date de fin :', [])
    if start_date < end_date:
        pass
    else:
        st.error('Error: Date de fin doit être choisi après la dete de début.')
    
    #greater than the start date and smaller than the end date
    mask = (df['CREATEDDATE'] > start_date) & (df['CREATEDDATE'] <= end_date)
    df = df.loc[mask]
    # And display the result!
    st.dataframe(df)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-25
      • 2018-06-07
      • 2021-06-14
      • 1970-01-01
      • 2023-03-29
      • 2021-09-18
      • 2022-08-05
      • 2021-03-13
      相关资源
      最近更新 更多