这里筛选2020年5月的数据为例:
首先将日期格式化:
data['日期']=data["日期"].values.astype('datetime64') #如果已为日期格式则此步骤可省略
import datetime
s_date = datetime.datetime.strptime('2020-04-30', '%Y-%m-%d').date() #起始日期
e_date = datetime.datetime.strptime('2020-06-01', '%Y-%m-%d').date() #结束日期
第一种方法,用逻辑运算符号'>' '<'和'&':
Pandasdatetime64[ns]不能直接与datetime.date相比,需要用pd.Timestamp进行转化
data[(data.日期>pd.Timestamp(s_date))&(data.日期<pd.Timestamp(e_date))]
第二种,用比较函数'gt''lt'和'&':
data[(data['日期'].lt(pd.Timestamp(e_date)))&(data['日期'].gt(pd.Timestamp(s_date)))]
第三种,用apply函数实现:
id_a=data.日期.apply(lambda x: x.year ==2020 and x.month==5)
data[id_a]
第四种,用between函数实现:
id_b=data.日期.between(pd.Timestamp(s_date),pd.Timestamp(e_date))
data[id_b]
网友评论