You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Pandas中datetime64[ns]类型日期列转换为仅显示月份?

解决方法

由于你的日期列已经是datetime64[ns]类型,直接借助pandas的dt属性即可提取月份,根据不同需求可按以下方式处理:

  • 提取数字月份(1-12):
    调用dt.month返回整数类型的月份值:

    df['日期列'] = df['日期列'].dt.month
    
  • 提取英文月份全称(如January、February):
    使用dt.strftime('%B')进行格式化:

    df['日期列'] = df['日期列'].dt.strftime('%B')
    
  • 提取英文月份缩写(如Jan、Feb):
    使用dt.strftime('%b')进行格式化:

    df['日期列'] = df['日期列'].dt.strftime('%b')
    
  • 提取中文月份(如一月、二月):
    有两种常用方式:
    方法一:通过字典映射转换

    month_cn_map = {
        1: '一月', 2: '二月', 3: '三月', 4: '四月', 5: '五月', 6: '六月',
        7: '七月', 8: '八月', 9: '九月', 10: '十月', 11: '十一月', 12: '十二月'
    }
    df['日期列'] = df['日期列'].dt.month.map(month_cn_map)
    

    方法二:本地化格式化(需确保系统环境支持中文 locale)

    import locale
    locale.setlocale(locale.LC_TIME, 'zh_CN.UTF-8')
    df['日期列'] = df['日期列'].dt.strftime('%B')
    

如果仅需修改显示格式但保留datetime类型,可设置全局日期显示格式:

pd.options.display.date_format = '%B'  # 替换为你需要的格式,如'%m'对应数字月份

内容的提问来源于stack exchange,提问作者Natoshi SakiSaki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 15:42:47