pandasql sqldf 的 where 子句中的日期比较
date compare in where clause of pandasql sqldf
我正在使用 pandasql sqldf 查询数据框,但无法比较 where 子句中的日期,出现无效语法错误。
from pandasql import sqldf
import pandas as pd
df = pd.DataFrame([['2015-05-07','2021-05-07'], ['2020-03-06','2018-06-08']],columns= ['date1','date2'])
start = '2020-01-01'
dt= '2015-05-07'
testdf = sqldf('select * from df where strftime('%Y-%m-%d', start) > strftime('%Y-%m-%d',dt))
您遇到格式问题
testdf = sqldf('select * from df where strftime("%Y-%m-%d", {}) > strftime("%Y-%m-%d",{})'.format(start,dt))
输出:
date1 date2
0 2015-05-07 2021-05-07
1 2020-03-06 2018-06-08
我正在使用 pandasql sqldf 查询数据框,但无法比较 where 子句中的日期,出现无效语法错误。
from pandasql import sqldf
import pandas as pd
df = pd.DataFrame([['2015-05-07','2021-05-07'], ['2020-03-06','2018-06-08']],columns= ['date1','date2'])
start = '2020-01-01'
dt= '2015-05-07'
testdf = sqldf('select * from df where strftime('%Y-%m-%d', start) > strftime('%Y-%m-%d',dt))
您遇到格式问题
testdf = sqldf('select * from df where strftime("%Y-%m-%d", {}) > strftime("%Y-%m-%d",{})'.format(start,dt))
输出:
date1 date2
0 2015-05-07 2021-05-07
1 2020-03-06 2018-06-08