如何将日期列转换为该日期的最后一个工作日



我想将此Date列转换为该月的最后一个工作日,即Date列所代表的日期。有人有主意吗?感谢

import pandas as pd  
# assign data of lists.  
data = {'Name': ['2021-12-31', '2020-12-31', '2019-12-31', '2018-12-31', '2017-12-31']}  
# Create DataFrame  
df = pd.DataFrame(data)  
df = pd.date_range(df, freq='BM')
df

以下是我通常的做法:

import pandas as pd
data = {'Name': ['2021-12-31', '2020-12-31', '2019-12-31', '2018-12-31', '2017-12-31']}  
td = pd.Timedelta('1 day')
bd = pd.tseries.offsets.BusinessDay(n=-1)
data_EOM = {'NAME': [pd.Timestamp(ts) + td + bd for ts in data['Name']]}

td用于将月底日期移动到下一个月。bd用于追溯单个业务日期,即您想要的月份的最后一个业务日。pd.Timestamp()用于将字符串日期转换为时间戳对象,上面的timedelta对象(tdbd(可以应用于该时间戳对象。

最后,我使用列表理解来循环浏览原始日期列表,以创建您要查找的EOM日期列表。从这里,您可以随心所欲地创建df。

希望这能有所帮助!

相关内容

  • 没有找到相关文章

最新更新