python-3.x - Pandas formated Datetime Column - Filter results by a specific Day of Week
问题描述
I only want results where day equals Thursday. I'm able to filter the open sites and ff which is first come first server but not sure how to filter by a specific day from my formated date. Thank you
def main():
result = []
print('Checking for available campsites....')
for unit_id in list(range(5095, 5096)) + [5117] + [5056] + [5078] + [5111] + [5113] + [5115] + [5119]:
resp = requests.get(
f"https://calirdr.usedirect.com/rdr/rdr/fd/"
f"availability/getbyunit/{unit_id}/startdate/{day_today}/nights/60/true?").json()
result.extend(resp)
df = pd.DataFrame(result)
df.rename(columns={'UnitId': 'Site', 'StartTime': 'Date', 'IsFree': 'Open', 'IsWalkin': 'FF'}, inplace=True)
filter_by = ['Site', 'Date', 'Open', 'FF']
df = df.filter(items=filter_by)
df['Date'] = df['Date'].apply(lambda d: datetime.fromisoformat(d).strftime("%m-%d-%y %A "))
# I only want results where day equals Thursday
df = df[df['Open']]
df = df[~df['FF']]
print(df)
PRINTED RESULT
Site Date Open FF
5095 09-23-21 Thursday True False
5095 10-19-21 Tuesday True False
5095 10-20-21 Wednesday True False
5095 10-21-21 Thursday True False
解决方案
Or why not just:
df = df[df['Date'].dt.dayofweek == 3]
推荐阅读
- android - Genymotion 模拟器显示无法正确渲染
- forms - 如何根据表单响应生成带有文本部分的文档?
- regex - 正则表达式结合匹配与负前瞻
- python - 无法将忽略陈旧元素实现为ignore_exceptions
- python - 使用 Flask 和 wtform 实现 Python 日期时间增量
- angular - Angular 发布请求并导航到新组件
- javascript - 从@input 值单击的所有复选框
- regex - 正则表达式在我的 bash 脚本中触发了一个“意想不到的令牌”,但我可以说它看起来不错。我究竟做错了什么?
- python - chrome 无法同时使用无头模式和 chrome 配置文件路径启动
- javascript - VUE NPM 导入包到所有其他文件