如何对 csv 中的 'date' 列进行排序以仅显示年度范围内的 spring 数据

How to sort a 'date' column in a csv to show only spring data for a yearly range

我正在处理一个包含每日最高温度和最低温度的大型数据集。我只想查看 1971-2000 年的 spring 日最高气温。这是我的数据集示例:

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')) 
] 

但我不知道如何只查看这部分年份的 3 月、4 月和 5 月的 TMAX。我试过下面的内容。 但是一直报错

TypeError:'getset_descriptor' object is not callable

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 日期时间对象的 dt.month accessor 访问您的月份。然后,您可以通过查看它是 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)]