2016-06-09 66 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小时还没有通过-_-)谢谢! –