Я немного поигрался с кодом и несколько упростил его, но идея выделения должна работать так же:
dt = datetime.now().strftime("%m/%d/%Y")
stockRules = pd.read_csv("data.csv", delimiter=";")
stockRules["FROMMONTH"] = pd.to_datetime(stockRules["FROMMONTH"], format="%m/%d/%Y")
stockRules["TOMONTH"] = pd.to_datetime(stockRules["TOMONTH"], format="%m/%d/%Y")
sub = stockRules[(stockRules["FROMMONTH"] <= dt) & (dt <= stockRules["TOMONTH"])]
print(sub["Productno"])
Обратите внимание, что при использовании pd.to_datetime
я присваиваю результат операции исходному столбцу, переопределяя все, что было в нем ранее.
Надеюсь, это поможет.
РЕДАКТИРОВАТЬ:
Для своих тестов я изменил CSV для использования; как разделитель, так как у меня были проблемы с чтением данных, которые вы указали в своем вопросе. Возможно, вам придется указать другой разделитель. Для вкладок, например:
stockRules = pd.read_csv("data.csv", delimiter="\t")