如何在DataFrame中将字母月份的字符串日期转换为月末日期格式?
处理字母格式日期并转为月末日期的方法
不用手动替换月份缩写,pd.to_datetime()完全可以识别"YYYY MON"这种格式,而且能轻松生成当月最后一天的日期,具体步骤如下:
解析字母格式日期
直接调用pd.to_datetime()就能自动识别月份缩写,无需手动转换:import pandas as pd # 示例DataFrame df = pd.DataFrame({'date': ['2010 AUG', '2018 DEC', '2023 MAR']}) # 解析日期,默认得到当月第一天 df['parsed_date'] = pd.to_datetime(df['date'])转换为当月最后一天
有两种简单方法可以把日期调整到月末:
方法一:使用MonthEnd偏移量df['month_end_date'] = df['parsed_date'] + pd.offsets.MonthEnd(0)方法二:先转成月度周期再转成月末时间戳
df['month_end_date'] = df['parsed_date'].dt.to_period('M').dt.to_timestamp('M')自定义日期格式(可选)
如果需要输出类似"08/31/2010"的格式,用dt.strftime()指定格式即可:df['formatted_date'] = df['month_end_date'].dt.strftime('%m/%d/%Y')
内容的提问来源于stack exchange,提问作者bonitabread
相关产品推荐
相关产品推荐

