选择与Python中的日期正则表达式匹配的数据帧行

时间:2018-06-07 19:02:19

标签: python dataframe

在以下数据框中,如何选择日期匹配的行' 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

1 个答案:

答案 0 :(得分:2)

看起来您的时间戳不好,这会导致很难转换为日期时间并按月搜索。

我的第一个建议是将数据修复到上游,但如果这不是一个选项,或者如果你设置使用正则表达式匹配,你可以简单地使用^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