2016-06-09 65 views
1

大熊貓中選擇行我有這樣的數據爲csv:匹配時間條件

[id names   timestamp     is_valid] 
[1 name:surname 2016-06-09 23:29:50.083093  True] 

我需要在此基礎上條件選擇行:如果is_valid是真實的,如果時間戳已經過去了24小時。所以它應該是和當前時間2016-06-10 23:29:50.083093要通過該條件。

我該如何做到這一點?我知道如何應用的首要條件:

from datetime import datetime, timedelta 
import pandas as pd 
from dateutil import parser 

df=pd.read_csv('acc.csv') 
user=(df[df['is_valid']==True]) 

我甚至可以打印時間戳,分析它,並與datetime.now比較()。但這絕對是一件可怕的事情。

回答

0

試試這個:

from datetime import datetime, timedelta 
import pandas as pd 
from dateutil import parser 

df = pd.read_csv('acc.csv') 
tidx = pd.to_datetime(df['timestamp'].values) 
past_24 = (pd.datetime.now() - tidx).total_seconds() > 60 * 60 * 24 
user = df[df['is_valid'] & past_24] 
+0

燁,它的伎倆! (起初我沒有結果,但後來實現了24小時還沒有通過-_-)謝謝! –