Python 提取每年两个日期之间的数据

Python 提取每年两个日期之间的数据,python,pandas,time-series,Python,Pandas,Time Series,我有一个从2000年到2015年的每日数据时间序列。我想要的是另一个单一的时间序列,它只包含每年4月15日至6月15日之间的数据(因为这是我分析的相关时期)。 我已经自己编写了一个代码来做同样的事情,如下所示: import pandas as pd df = pd.read_table(myfilename, delimiter=",", parse_dates=['Date'], na_values=-99) dff = df[df['Date'].apply(lambda x: x.mon

我有一个从2000年到2015年的每日数据时间序列。我想要的是另一个单一的时间序列,它只包含每年4月15日至6月15日之间的数据(因为这是我分析的相关时期)。 我已经自己编写了一个代码来做同样的事情,如下所示:

import pandas as pd
df = pd.read_table(myfilename, delimiter=",", parse_dates=['Date'], na_values=-99)
dff = df[df['Date'].apply(lambda x: x.month>=4 and x.month<=6)]
dff = dff[dff['Date'].apply(lambda x: x.day>=15 if x.month==4 else True)]
dff = dff[dff['Date'].apply(lambda x: x.day<=15 if x.month==6 else True)]
将熊猫作为pd导入
df=pd.read_表(myfilename,delimiter=“,”,parse_dates=['Date'],na_值=-99)
dff=df[df['Date'].apply(λx:x.month>=4,如果x.month==4,则x.month=15,否则为真)]
dff=dff[dff['Date']。应用(lambda x:x.day尝试以下操作:

index = pd.date_range("2000/01/01", "2016/01/01")
s = index.to_series()
s[(s.dt.month * 100 + s.dt.day).between(415, 615)]
试试这个:

index = pd.date_range("2000/01/01", "2016/01/01")
s = index.to_series()
s[(s.dt.month * 100 + s.dt.day).between(415, 615)]

让数据框如下所示:

df = pd.DataFrame({'Date': pd.date_range('2000-01-01', periods=365*10, freq='D'),
                   'Value': np.random.random(365*10)})
创建一系列日期,将年份设置为相同的值

x = df.Date.apply(lambda x: pd.datetime(2000,x.month, x.day))
使用此系列从数据帧中选择的筛选器

df.values[(x >= pd.datetime(2000,4,15)) & (x <= pd.datetime(2000,6,15))]

df.values[(x>=pd.datetime(2000,4,15))&(x让数据帧如下所示:

df = pd.DataFrame({'Date': pd.date_range('2000-01-01', periods=365*10, freq='D'),
                   'Value': np.random.random(365*10)})
创建一系列日期,将年份设置为相同的值

x = df.Date.apply(lambda x: pd.datetime(2000,x.month, x.day))
使用此系列从数据帧中选择的筛选器

df.values[(x >= pd.datetime(2000,4,15)) & (x <= pd.datetime(2000,6,15))]

df.values[(x>=pd.datetime(2000,4,15))&(x这里的dt是什么?这也考虑到闰年了吗?是的,它可以处理闰年,
dt
是DateTime系列的属性访问器,用于访问月、日部分。如果使用
DateTimeIndex
,则不需要
dt
。这里的dt是什么?这也考虑到闰年了吗?是的,它可以处理leap year,
dt
是日期时间序列的属性访问器,用于访问月、日部分。如果使用
DateTimeIndex
,则不需要
dt