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

如何在Pandas中提取单元格前3字符创建列并实现日期排序

嘿,我来帮你一步步搞定这个需求!

处理日期列、提取月份并排序的完整方案
  • 第一步:提取日期列的前3个字符作为月份缩写
    你的date列是字符串格式(比如"Jul 31, 2014"),直接用Pandas的字符串切片就能轻松拿到前3个字符:

    import pandas as pd
    
    # 假设你的数据集名为df
    df['MONTH_ABBR'] = df['date'].str[:3]
    

    执行后会生成新列MONTH_ABBR,里面存的就是"Jul"、"Sep"这类月份缩写。

  • 第二步:将月份缩写转换为整数类型
    用你提到的方法,把缩写转成1-12的整数月份:

    df['MONTH_NUM'] = pd.to_datetime(df['MONTH_ABBR'], format='%b').dt.month
    

    这里的%b是Pandas识别英文月份缩写的格式符,刚好匹配你数据里的月份格式。

  • 第三步:按日期索引排序
    最后我们把原date列转成datetime类型,再完成排序:
    方法一:设置日期为索引后排序

    # 先将date列转为datetime类型
    df['date'] = pd.to_datetime(df['date'])
    # 设置为索引并排序
    df = df.set_index('date').sort_index()
    

    方法二:直接按date列排序(不设置索引)

    df['date'] = pd.to_datetime(df['date'])
    df = df.sort_values('date')
    

如果想更精简,还可以把提取缩写和转整数合并成一步,不用单独生成MONTH_ABBR列:

df['MONTH_NUM'] = pd.to_datetime(df['date'].str[:3], format='%b').dt.month

这样整个流程就走完啦,既提取了月份、转成了整数,还完成了按日期排序的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 16:47:28