我有一個sql文件,其中包含我讀入熊貓的數據。熊貓過濾和比較日期
df = pandas.read_sql('Database count details', con=engine,
index_col='id', parse_dates='newest_available_date')
輸出
id code newest_date_available
9793708 3514 2015-12-24
9792282 2399 2015-12-25
9797602 7452 2015-12-25
9804367 9736 2016-01-20
9804438 9870 2016-01-20
的下一行代碼是讓上週的日期
date_before = datetime.date.today() - datetime.timedelta(days=7) # Which is 2016-01-20
我所試圖做的是,用df
和打印比較date_before
淘汰所有小於date_before
的行
if (df['newest_available_date'] < date_before): print(#all rows)
顯然,這將返回我一個錯誤The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我應該怎麼辦呢?
我仍然得到錯誤'系列的真值不明確。使用a.empty,a.bool(),a.item(),a.any()或a.all()。' –
我複製了你的數據框並用'df = pd.read_clipboard(parse_dates = [ 'newest_date_available'])',那麼這個過程工作正常。嘗試以這種方式做到這一點,讓我知道你是否仍然有問題。請記住''parse_dates''參數需要一個列表,所以在'pd.read_sql(parse_dates = ['newest_available_data'])''中。 –
我用'print(a)'拷貝了'a = df [df ['newest_date_available']