df[(df['Горизонт'] == int(horizon)) & (df['дата'].str.contains(date_question))
я вот этого ни разу не видел в твоих примерах. ты уверен, что [‘data’].str отдает дату в нужном формате?
да в нужном формате, меня пока интересует условие
elif (date_question != '') & (end_date != '') & (horizon != ''):
df.loc[mask & (df['Горизонт'] == int(horizon))].sort_values(by=['№ Скважины', 'дата']).to_csv(save, columns = ['№ Скважины', 'дата', 'дебит нефти, м3/сут', 'дебит воды, м3/сут', 'коэффициент эксплуатации'], index=False, sep='\t')