2016-09-02 66 views
1

,我有以下的數據幀:如何篩選出今天的日期在熊貓數據幀

Company  Date     Value 
ABC   08/21/16 00:00:00 500 
ABC   08/22/16 00:00:00 600 
ABC   08/23/16 00:00:00 650 
ABC   08/24/16 00:00:00 625 
ABC   08/25/16 00:00:00 675 
ABC   08/26/16 00:00:00 680 

如果我們假設8月26日 - 2016年今天的日期,然後我想創建一個新的數據幀有效地排除了08/26/16行中的數據。

編輯: 這裏是我的代碼,這樣做:

today = time.strftime("%m/%d/%Y") 
df.Date = df.Date <> today 

不幸的是,我看到顯示一條錯誤消息:

'Series' object has no attribute 'Date' 

不知道如何解決這個問題?

謝謝!

SOLUTION:

today = time.strftime("%Y-%m-%d") 

df = df.loc[(df.Date < today)] 
+1

你提出的輸入數據和錯誤輸出不匹配,你的狀態數據幀在你的輸入,但你的錯誤是指一系列 – EdChum

+0

你可以張貼的'打印(df.dtypes)'的輸出? – MaxU

+1

'df'是一個系列,而不是數據框。這是你的錯誤 –

回答

2

我覺得要篩選早於您指定的日期顯示的日期,雖然標題似乎誤導。您必須將Date列中的dtype object列轉換爲datetime64

In [22]: df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d') 

In [23]: today = datetime.strptime('08/26/16', '%m/%d/%y') 

In [24]: today 
Out[24]: datetime.datetime(2016, 8, 26, 0, 0) 

In [25]: df = df.loc[(df['Date'] < today)] 

In [26]: df 
Out[26]: 
    Company  Date Value 
0  ABC 2016-08-21 500 
1  ABC 2016-08-22 600 
2  ABC 2016-08-23 650 
3  ABC 2016-08-24 625 
4  ABC 2016-08-25 675