我的Dataframe包含Date
类型的列int
。我想将Date
Input_DF
转换为特定月份的最后一个工作日,并将其作为Date2
存储在新列中。有什么办法可以做到这一点。提前致谢。
Input_DF:
Product Date Country
A 200801 USA
C 201503 AUS
B 201002 UK
B 201704 FIN
C 200605 IRE
A 200805 CAN
Output_DF:
Product Date Country Date2
A 200801 USA 2008-01-31
C 201503 AUS 2015-03-31
B 201002 UK 2010-02-26
B 201704 FIN 2017-04-28
C 200605 IRE 2006-05-31
A 200805 CAN 2008-05-30
答案 0 :(得分:1)
pandas
中有许多内置的日期时间功能。使用offsets
可以直接获得所需内容。您首先必须以正确的格式将日期传递给pd.to_datetime
:
df['Date2'] = pd.to_datetime(df['Date'], format='%Y%m') + pd.offsets.BMonthEnd(1)
>>> df
Product Date Country Date2
0 A 200801 USA 2008-01-31
1 C 201503 AUS 2015-03-31
2 B 201002 UK 2010-02-26
3 B 201704 FIN 2017-04-28
4 C 200605 IRE 2006-05-31
5 A 200805 CAN 2008-05-30