#python-3.x #datepicker #jupyter-notebook
#python-3.x #datepicker #jupyter-notebook
Вопрос:
Я могу попытаться установить условие для некоторых данных, которые находятся в пределах средства выбора времени в datepicker. У меня две проблемы
МОЙ код был
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))amp;(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))amp;(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?
- Я терплю неудачу в interact для datepicker, в котором
A) print(time_df.head(20))
Б)
time_df = (id_one[(id_one['_source.timestampstring']>pd.to_datetime(start_dater.value))amp;(id_one['_source.timestampstring']<pd.to_datetime(end_dater.value))])
time_df.head(20)
Только (A) может быть «взаимодействовать» или «обновлять», когда я выбираю день, но не (B)
И для вопроса 2, когда я помещаю time_df.head(20) в СЛЕДУЮЩУЮ ЯЧЕЙКУ, это действительно работает…….
Но я хочу показать результат, как в 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
Спасибо!
Джефф
Комментарии:
1. можете ли вы предоставить образец для ваших входных данных
id_one
?
Ответ №1:
Я повторил вашу первую ошибку с помощью
id_one = pd.DataFrame(pd.date_range('20200101','20200202'), columns = ['_source.timestampstring'])
Это потому, что вы не установили значение по умолчанию для DatePicker. По умолчанию значение равно None, отсюда и ошибка. Вот исправление (аргумент value — это значение по умолчанию):
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))
Я не могу повторить вашу вторую ошибку. Я предполагаю, что вы ставите печать перед time_df =
оператором. Вам нужно поместить печать после строки, которая вычисляет time_df
Комментарии:
1. Я думаю, что причина ошибки та же самая. Решил ли мой ответ проблему?
2. спасибо вам за вашу помощь ~ да, ответ по умолчанию решен