Я работаю с большим набором данных ежедневных температурных максимумов и минимумов. Я хочу посмотреть только максимальные температуры весны в период с 1971 по 2000 год. Вот пример моего набора данных:
Date, TMAX, TMIN
6/1/68,70,51
6/2/68,76,57
6/3/68,74,55
6/4/68,78,54
6/5/68,76,54
.... продолжается до 2018 года
Я создал новый набор данных только с 1970-2000 гг., Выполнив следующие действия:
df['Date']=pd.to_datetime(df['Date'])
df1971_2000 = df[ ≤br>
(pd.to_datetime(df['Date']) >
pd.to_datetime('1971-01-01')) &
(pd.to_datetime(df['Date']) <
pd.to_datetime('2000-12-31'))
]
Но я не могу понять, как смотреть только март, апрель, и может TMAX для этого подмножества лет. Я пробовал, что ниже. Но продолжайте получать ошибку
TypeError: объект 'getet_descriptor' не может быть вызван
SpringTemps = Valid1971_2000[
(pd.to_datetime(Valid1971_2000['Date']) >
pd.to_datetime(month(3))) &
(pd.to_datetime(Valid1971_2000['Date']) <
pd.to_datetime(month(6)))
]
Кто-нибудь знает лучший способ сделать это?
Вероятно, лучше всего получить доступ к своим месяцам через dt.month
аксессор объектов pandas
datetime. Затем вы можете проверить, что это либо марш, апрель, либо может, если он будет 3, 4 или 5:
Valid1971_2000.loc[Valid1971_2000.Date.dt.month.isin([3,4,5])]
Кроме того, можно использовать between
вместо isin
:
Valid1971_2000.loc[Valid1971_2000.Date.dt.month.between(3,5)]