Jupyter Notebook 如何为日期选择器分配默认值并在所选日期内对时间进行排序?

Jupyter Notebook HOw can i assign a default value to datepicker and sort the time within the selected date?

我可以尝试在日期选择器中设置时间选择器内的一些数据条件。我有两个问题

我的代码是

def show_filter_date(start ,end):
        print(start_dater.value)
    print(end_dater.value)
    time_df = (id_one[(id_one['_source.timestampstring']>pd.to_datetime(start))&(id_one['_source.timestampstring']<pd.to_datetime(end))])
    #print(time_df.head(20))
#    time_df = (id_one[(id_one['_source.timestampstring']>pd.to_datetime(start_dater.value))&(id_one['_source.timestampstring']<pd.to_datetime(end_dater.value))])
    time_df.head(20)
    
layout = widgets.Layout(width='auto', height='40px')
start_dater = widgets.DatePicker(description='Pick a Start Date',disabled=False)
end_dater = widgets.DatePicker(description='Pick an End Date',disabled=False )
#display(widgets.HBox((start_dater, end_dater)))
#display(start_dater)
#display(end_dater)
#id_one.head()
#combine_date = widgets.HBox((start = start_dater, end = end_dater))
#country_selector =  widgets.Dropdown(
interact(show_filter_date,start = start_dater , end = end_dater)
  1. 每次我 运行 它显示错误的代码 “dtype=datetime64[ns] 和 NoneType 之间的无效比较”

我试过分配默认值,比如

start_dater = widgets.DatePicker(description='Pick a Start Date',disabled=False, year = 2020 ,month = 12, day = 1)

但不会变成2020/12/01

那么,我怎样才能得到 null 以外的值呢?

  1. 我在
  2. 中的日期选择器交互失败

A) print(time_df.head(20))

B)

time_df = (id_one[(id_one['_source.timestampstring']>pd.to_datetime(start_dater.value))&(id_one['_source.timestampstring']<pd.to_datetime(end_dater.value))])

time_df.head(20)

只有(A)可以“互动”或“刷新”我选一天,不能(B)

对于问题 2,当我将 time_df.head(20) 放入 NEXT CELL 时它确实有效......

但我想要的是像 time_df

那样显示结果

如有帮助,我将不胜感激

id_one 类似于


Index           _source.hdrrId  _source.hdrfId  _source.hdrType  \
199            1300                1234                     1  

_source.timestampstring   
199 2020-11-06 09:36:04.800

谢谢!

杰夫

我用

复制了你的第一个错误
id_one = pd.DataFrame(pd.date_range('20200101','20200202'), columns = ['_source.timestampstring'])

这是因为您没有为 DatePicker 设置默认值。默认情况下该值为 None 因此会出现错误。这是修复(值参数是默认值):

start_dater = widgets.DatePicker(description='Pick a Start Date',disabled=False, value = datetime.date(2020,1,1))
end_dater = widgets.DatePicker(description='Pick an End Date',disabled=False, value = datetime.date(2020,2,1))

我无法复制你的第二个错误。我的猜测是您将 print 放在 之前 time_df = 语句。您需要将打印 放在 计算 time_df

的行之后