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

如何在Pandas中标准化日期列,去除小数仅保留年份?

Pandas 标准化年份列,提取纯年份的高效方法

针对不同格式的年份列,这里有几种高效的处理方式:

  • 数值型年份(带小数)
    如果你的年份列是浮点数(比如2020.5、2021.9),直接取整或向下取整即可:

    import pandas as pd
    import numpy as np
    
    # 直接转整数(自动截断小数部分)
    df['clean_year'] = df['year'].astype(int)
    
    # 若需要严格向下取整(比如2021.9转成2021而非2022)
    df['clean_year'] = np.floor(df['year']).astype(int)
    
  • 字符串型年份(含随机格式)
    如果年份列是字符串(比如"2020/03"、"Year:2019"、"2021.10"),用正则提取连续四位数字作为年份:

    # 提取四位数字,自动忽略其他无关字符
    df['clean_year'] = df['year'].str.extract(r'(\d{4})').astype(int)
    
  • 混合类型(数值+字符串)
    先统一转为字符串再用正则提取:

    df['clean_year'] = df['year'].astype(str).str.extract(r'(\d{4})').astype(int)
    
  • 处理空值
    如果部分行没有有效年份,可填充默认值:

    # 用0填充空值,也可替换为你需要的默认年份
    df['clean_year'] = df['clean_year'].fillna(0).astype(int)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:42:05