我要實現以下SQL的一個數據幀大熊貓相當於:熊貓:選擇無效或早於今天的行?
select * from table where ISNULL(date, GETDATE()) >= as_of_date
基本上,我想選擇的行,其中日期的值大於as_of_date
。有一些行的日期是null
,在這種情況下,如果as_of_date小於或等於今天的日期,我只想選擇那些行。
有沒有辦法在熊貓做到這一點?
我要實現以下SQL的一個數據幀大熊貓相當於:熊貓:選擇無效或早於今天的行?
select * from table where ISNULL(date, GETDATE()) >= as_of_date
基本上,我想選擇的行,其中日期的值大於as_of_date
。有一些行的日期是null
,在這種情況下,如果as_of_date小於或等於今天的日期,我只想選擇那些行。
有沒有辦法在熊貓做到這一點?
您可能需要:
from datetime import date
df[df.date.fillna(date.today()) >= as_of_date]
您還需要確保date
柱和as_of_date
都是datetime對象,如果沒有,用pd.to_datetime()
轉換:
df['date'] = pd.to_datetime(df.date)
as_of_date = pd.to_datetime(as_of_date)
df[(df['date'] < datetime.now().date()) & (df['date'] == None)]
但請注意,這只是一個例子,如果您提供相同的代碼和df我可以幫助您獲得更多的細節。
是的,有是。你有什麼嘗試? – 2016-12-29 18:41:19
'df [(df.date或date.today())<= as_of_date)]'返回錯誤'系列的真值不明確.' – user1742188
'as_of_date'是標量或其他系列? – Psidom