Pandas查询函数中的like和date是什么意思?

6

我有一个Python函数,它获取一个pandas DataFrame并使用DataFrame的“query”函数对其执行条件。

所以像=、!=这样的简单条件都可以。

但是我想要使用“like”进行条件查询。这可能吗?

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

我该怎么做?


这取决于你想如何使用 like。答案会相应地改变。 - cs95
2个回答

12

演示:

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

太好了!谢谢你! - user2671057

8
我认为查询的本地方式没有实现LIKE功能,需要使用containsmatch类似的函数
与今天进行比较:
now = pd.datetime.today()

df.query("col > @now")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接