python - 在日期时间中按日期过滤数据框
问题描述
大家早上好,
我目前正在编写一个机器人,它应该用数据填充基于浏览器的系统。因此,宏将数据从 excel 中提取到数据框中,并且必须首先决定需要将哪些数据放入该系统中。在此检查中,将根据当前日期检查数据框中一列的所有日期。
当前日期(“datetimeObj”)和列(“Approved until incl.”)都以日期时间格式化(根据我的理解)。 问题是此检查不适用于此消息: 在此处输入图像描述
我尝试仅使用列中的一项进行检查,然后它正在工作: 在此处输入图像描述
我希望你们中的一些人可以在这里帮助我。提前致谢,
一切顺利!甜瓜鲍尔
解决方案
根据代码,您应该在 xlsx_import["Approved until incl."] 中有字符串
尝试跟随以查看发生了什么...
导入库:
from datetime import datetime
import pandas as pd
然后创建一个充满日期的示例字典:
date_dict = dict({'time':[datetime(2020,1,1,12,10,10),datetime(2020,1,2,12,10,10)]})
然后创建一个熊猫数据框。这个在列值上有日期
df = pd.DataFrame(date_dict)
然后我们生成一个样本日期进行测试:
date = datetime(2020,1,1,17,10,10)
然后是最后的测试:
is_older = df['time'] < date
当这样显示时:print(is_older)
你不会得到任何错误,第一项为真,第二项为假
然后我们做同样的事情,但这次使用列中包含字符串而不是日期时间的数据框:
我们生成一个新的样本字典:
date_dict = dict({'time':["2020-1-1 12:10:10","2020-1-2 12:10:10"]})
然后我们创建一个用字符串填充的新数据框:
df_str = pd.DataFrame(date_dict)
最后我们对其进行测试:
is_older2 = df_str['time'] < date
出现您显示的错误。
推荐阅读
- java - 做While循环麻烦
- python - 无法使用 datetime.datetime 从单元格中提取时间
- flutter - 按下按钮时显示 ListView 小部件
- ios - 用触摸画线
- hash - 如何分配唯一值来表示唯一整数列表
- laravel - Larave,打印查询结果中的所有列
- xquery - XQuery 错误:使用返回空结果的变量进行过滤
- python - 通过 Python 抛出异常从非结构化数据中挖掘细节--> IndexError: list index out of range
- c# - 如何在控制台 WriteLine 中分隔数字?
- r - 如果重复超过 5 次,如何删除行?