Как отсортировать столбец «дата» в CSV, чтобы показать только весенние данные за годовой диапазон

1

Я работаю с большим набором данных ежедневных температурных максимумов и минимумов. Я хочу посмотреть только максимальные температуры весны в период с 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)))
]

Кто-нибудь знает лучший способ сделать это?

Теги:
pandas
python-3.x
python-datetime
weather

1 ответ

0
Лучший ответ

Вероятно, лучше всего получить доступ к своим месяцам через 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)]
  • 1
    Спасибо вам большое! Это сработало для меня

Ещё вопросы

Сообщество Overcoder
Наверх
Меню