Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在本文中,如何根据特定的工作日和时间范围进行过滤_Python_Pandas - Fatal编程技术网

Python 在本文中,如何根据特定的工作日和时间范围进行过滤

Python 在本文中,如何根据特定的工作日和时间范围进行过滤,python,pandas,Python,Pandas,我的数据框看起来像这样。笔记本是 此代码将过滤掉7月份 july_station = df[['COUNTn']]\ [(df.DATETIMEn >= datetime.datetime.strptime('07-01-13', '%m-%d-%y')) &\ (df.DATETIMEn <= datetime.datetime.strptime('07-31-13', '%m-%d-%y'))]\ .g

我的数据框看起来像这样。笔记本是

此代码将过滤掉7月份

july_station = df[['COUNTn']]\
           [(df.DATETIMEn >= datetime.datetime.strptime('07-01-13', '%m-%d-%y')) &\
            (df.DATETIMEn <= datetime.datetime.strptime('07-31-13', '%m-%d-%y'))]\
            .groupby(df.UNIT)\
            .sum()
july_站=df[['COUNTn']]\
[(df.DATETIMEn>=datetime.datetime.strtime('07-01-13','%m-%d-%y'))&\
(df.DATETIMEn=datetime.datetime.strtime('07-01-13 00:00 5','%m-%d-%y%H:%m%A'))&\

(df.DATETIMEn如果您的列是datetime列,则可以使用
column.dt.weekday
(星期一=0,星期日=6)和
column.dt.hour
获取工作日和小时。您还可以在序列上使用
between
更优雅地进行范围比较:

df.DATEn = pd.to_datetime(df.DATEn)
df.TIMEn = pd.to_datetime(df.TIMEn)
mask = (df.DATEn == 4) & df.TIMEn.dt.hour.between(0,4)

在您的示例数据框中,我没有看到“COUNTn”或“DATETIMEn”列。到笔记本的链接是否有类似于
df.DATEn.yr='2014
的内容?是的,它在
dt
df.DATEn.dt.year==2014
中,完整的文档在,您能帮我吗?
 july_station1 = df[['COUNTn']]\
               [(df.DATETIMEn >= datetime.datetime.strptime('07-01-13 00:00 5', '%m-%d-%y %H:%M %A')) &\
                (df.DATETIMEn <= datetime.datetime.strptime('07-31-13 04:00 5', '%m-%d-%y %H:%M %A'))]\
                .groupby(df.UNIT)\
                .sum()
df.DATEn = pd.to_datetime(df.DATEn)
df.TIMEn = pd.to_datetime(df.TIMEn)
mask = (df.DATEn == 4) & df.TIMEn.dt.hour.between(0,4)