Как отсортировать столбец «дата» в CSV, чтобы показать только весенние данные за годовой диапазон - PullRequest
0 голосов
/ 01 декабря 2018

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

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

1 Ответ

0 голосов
/ 01 декабря 2018

Вероятно, лучше всего получить доступ к вашим месяцам через dt.month средство доступа из pandas объектов даты и времени.Затем вы можете проверить, что это марш, апрель или май, запустив, если это 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)]
...