我有一个Python函数,它获取一个pandas DataFrame并使用DataFrame的“query”函数对其执行条件。
所以像=、!=这样的简单条件都可以。
但是我想要使用“like”进行条件查询。这可能吗?
此外,我想检查某些列是否大于“现在”...
我该怎么做?
演示:
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
like
。答案会相应地改变。 - cs95