Попробуйте следующее:
list(data.reset_index()['Date'])[-1]
Я не думаю, что reset_index () имеет к этому какое-то отношение. Выбор определенного столбца c из фрейма данных возвращает ряд. Нам может потребоваться преобразовать его в список для доступа через отрицательную позицию индекса.
Это небольшой пример, который я пробовал на образце dummy df:
'''
year key val
2019 a 3
2019 a 4
2019 b 3
2019 c 5
2020 d 6
2020 e 1
2020 f 2
'''
import pandas as pd
df = pd.read_clipboard()
print(df)
Source df:
year key val
0 2019 a 3
1 2019 a 4
2 2019 b 3
3 2019 c 5
4 2020 d 6
5 2020 e 1
6 2020 f 2
Обе эти ошибки ключа выброса:
mask = df['year'][-1]
print(mask)
или
mask = df.reset_index()['year'][-1]
print(mask)
Вывод:
KeyError: -1
Оба эти действия работают:
mask = list(df.reset_index()['year'])[-1]
или
mask = list(df['year'])[-1]
Вывод:
2020