2017-08-17 3 views
3

私はpandasデータフレームを取得し、DataFrameの関数 "query"によってそれを実行するPython関数を持っています。類似した日付のPandasクエリ関数

=、!=などの単純な条件なので、大丈夫です。

しかし、「好き」の条件を実行したい。それは可能ですか?

また、私は

私はそれをどのように行うことができ

...いくつかの列は、「今」よりも大きいかどうかを確認したいですか?

+0

それはあなたが 'like'をどのように使用するかによって決まります。それに応じて答えが変わります。 –

答えて

7

デモ:

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 
+0

素晴らしい!ありがとうございました ! – user2671057

6

私は、LIKE機能がqueryネイティブウェイに実装されていないと思うcontainsmatchsimilar functionsを必要としています。今日との比較のために

now = pd.datetime.today() 

df.query("col > @now") 
関連する問題