Pandas查询功能与like和date

时间:2017-08-17 11:21:35

标签: python regex pandas

我有一个python函数可以获取pandas数据帧,并通过DataFrame的“查询”函数对其执行调整。

如此简单的条件,如=,!=等等都可以。

但是我想让它用“喜欢”来执行条件。这可能吗?

另外,我想检查一些列是否大于“现在”......

我怎么能这样做?

2 个答案:

答案 0 :(得分:8)

演示:

In [166]: now = pd.datetime.today()

In [167]: df
Out[167]:
        date              s
0 2017-01-18  sample string
1 2017-12-01      blah-blah
2 2017-08-17          a key

In [168]: df.query("s.str.contains('key')", engine='python')
Out[168]:
        date      s
2 2017-08-17  a key

In [169]: df.query("s.str.contains('key') or date > @now", engine='python')
Out[169]:
        date          s
1 2017-12-01  blah-blah
2 2017-08-17      a key

答案 1 :(得分:7)

我认为LIKE功能未以query原生方式实施,需要containsmatchsimilar functions

与今天比较:

now = pd.datetime.today()

df.query("col > @now")