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)
- 每次我 运行 它显示错误的代码
“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 以外的值呢?
- 我在
中的日期选择器交互失败
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
的行之后
我可以尝试在日期选择器中设置时间选择器内的一些数据条件。我有两个问题
我的代码是
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)
- 每次我 运行 它显示错误的代码 “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 以外的值呢?
- 我在 中的日期选择器交互失败
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