如何将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
相关产品推荐
相关产品推荐

