我有一个python函数可以获取pandas数据帧,并通过DataFrame的“查询”函数对其执行调整。
如此简单的条件,如=,!=等等都可以。
但是我想让它用“喜欢”来执行条件。这可能吗?
另外,我想检查一些列是否大于“现在”......
我怎么能这样做?
答案 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
原生方式实施,需要contains
,match
和similar functions。
与今天比较:
now = pd.datetime.today()
df.query("col > @now")