在Python代码中,我有一个查询,我想从指定ID和HOUR<;=的DataFrame中选择行,但我只想选择其中的6行。所以我想订购,以避免选择太多。我搞错了。你知道吗
ID='IDTET'
t=some timestamp
HistoryThreshold=5
selection=df[df.eval("MY_ID=='%s' and HOUR<='%s' and valid=='%s' ORDER BY HOUR DESC LIMIT '%s'" %(ID,t,'yes',HistoryThreshold+1))]
我有个错误:
MY_ID =='IDTET'and HOUR <='2019-06-18 08:00:00'and valid =='yes'ORDER BY HOUR DESC LIMIT '6' SyntaxError: invalid syntax
如果我只做这部分,就没有错误:
selection=df[df.eval("MY_ID=='%s' and HOUR<='%s' and valid=='%s'"%(ID,t,'yes'))]
你不必使用eval函数就可以做到这一点。可以在python中使用掩码。下面是它的样子:
如果要确保选定的行是最接近限制日期的行,可以按降序对df进行排序:
相关问题 更多 >
编程相关推荐