Используйте shift
, который создает новую серию, которая смещается на заданное количество строк:
df2 = df[(df.Commodity == c) & (df.ContractMonth == f) & (df.ContractYear == (df.ContractYear.shift(-1))]
РЕДАКТИРОВАТЬ: я перефразировал ответ для ясности и во избежание некоторых последствий, которые @MickyD правильно указали в комментариях, и я также не согласен с этими последствиями:
Это похоже на ошибку в пакете он не работает в соответствии с его документацией, и одна из возможных вещей - это отправить проблему в GitHub, чтобы ошибка была решена разработчиком пакета.
Другое возможное, что можно сделать, это искать альтернативы. Вы можете попытаться найти другие подобные пакеты и посмотреть, работают ли они, и альтернатива, для которой, я уверен, работает, состоит в том, чтобы использовать встроенные функции в System.Windows.Storage
(поскольку это официально поддерживается).