2017-07-07 39 views
1

我的數據集範圍從1989-1-03到現在的日期。它看起來像這樣。我有列R,其中某些點的日期與DataFrame的索引相匹配。在熊貓DataFrame列中獲取上個月的第一個工作日

Index  R 
1989-01-24  NaT 

1989-01-25  NaT 

1989-01-26  NaT 

1989-01-27  NaT 

1989-01-30  NaT 

1989-01-31  NaT 

1989-02-01  1989-02-01 

1989-02-02  NaT 

1989-02-03  NaT 

我想找到R列不屬於NAT,從中減去一個月,找到的第一個工作日該月的值,並存儲到在數據幀的新列RI行。

最終的數據幀應該是這個樣子:

Index  R   RI 

1989-01-02 NaT  1989-01-02 

---- 

1989-02-01 1989-02-01  NaT 

1989-02-02 NaT   NaT 

1989-02-03 NaT   NaT 

有人能幫助我嗎?我在DateTime處理方面真的很虛弱。

回答

1

您特意詢問了一個熊貓數據框,因此您應該查看pandas Business Date Range函數。

一個這樣的解決辦法是:

import pandas as pd 
pd.bdate_range(start='2017-07-01',periods=1)[0] 
# returns Timestamp('2017-07-03 00:00:00', freq='B') 
+0

謝謝,我可以把它與這個工作 – Wolverine