Я тяну кусок данных в пределах диапазона времени. Он вытаскивает дату и время из столбца recvd_dttm. Он берет все данные, начиная с года назад. Я хочу изменить его так, чтобы он мог вытащить месяц или день, но pd.DateOffset (months = 1) дает ошибку KeyError:1
. Я получаю ту же ошибку, если меняю ее на days = 7. Но он отлично работает с годами = 1. Что здесь происходит?DateOffset от года к месяцу и неделе
df = pd.read_csv('MYDATA.csv')
# filter by countries with at least one medal and sort
df['recvd_dttm'] = pd.to_datetime(df['recvd_dttm'])
#Only retrieve data before now (ignore typos that are future dates)
mask = df['recvd_dttm'] <= datetime.datetime.now()
df = df.loc[mask]
# get first and last datetime for final week of data
range_max = df['recvd_dttm'].max()
range_min = range_max - pd.DateOffset(years=1)
# take slice with final week of data
df = df[(df['recvd_dttm'] >= range_min) &
(df['recvd_dttm'] <= range_max)]
EDIT: проблема исходила из других частей кода!
Вы можете уточнить, какова ваша конечная цель? это получить максимальные значения за каждый год? – AZhao
Нет. Конечная цель состоит в том, чтобы иметь фрагмент данных определенного диапазона, который вводит пользователь. Они выбирают день, месяц, год, и он извлекает этот объем данных из csv. – jenryb
как насчет линий range_max и range_min? что вы надеетесь, что они пытаются добиться успеха? это только начало и остановка выбранного диапазона? – AZhao