python - 在Python中选择与日期正则表达式匹配的数据框行
问题描述
在以下数据框中,如何选择日期匹配“2018-06%”的行?
Date Cost Source
2018-06-01 00:00:77 0.03 RFP
2018-06-01 00:05:77 0.01 RFP
2018-06-01 04:09:77 0.90 EFO
2018-05-02 06:99:08 0.07 THP
2018-07-01 09:05:79 0.20 RFP
预期产出
Date Cost Source
2018-06-01 00:00:77 0.03 RFP
2018-06-01 00:05:77 0.01 RFP
2018-06-01 04:09:77 0.90 EFO
解决方案
看起来您的时间戳很糟糕,这将难以转换为日期时间并按月搜索。
我的第一个建议是在上游修复该数据,尽管如果这不是一个选项,或者如果您设置使用正则表达式进行匹配,您可以简单地使用^2018-06
:
df[df.Date.str.match(r'^2018-06')]
Date Cost Source
0 2018-06-01 00:00:77 0.03 RFP
1 2018-06-01 00:05:77 0.01 RFP
2 2018-06-01 04:09:77 0.90 EFO
正则表达式非常简单:
^ # Asserts beginning of string
2018-06 # matches your date
推荐阅读
- stripe-payments - 如何将资金转移到非关联的 Stripe 账户
- flutter - Flutter:以毫米为单位创建标尺
- networking - 多播场景中的接收者如何知道它应该监听哪个 IP 地址?
- wordpress - 如何在不加载页面的情况下将简单的表单提交转换为 ajax 提交,例如将产品添加到购物车功能
- angular - 如何从角度的单个函数返回订阅和承诺?
- vb.net - VB.Net:Winforms Designer:在父自定义控件中使用自定义控件中的动词
- azure - 在 Azure 中通过 Powershell 执行远程命令,无需脚本
- c# - 需要解释一下,为什么EF核心现在需要使用attach
- airflow-scheduler - 当属性'catchup = false'时了解气流执行日期
- javascript - Angular 8 防止在重复选项卡上的浏览器选项卡之间共享会话