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

如何将Pandas月份列通过自定义函数转换为法语全称

解决方案

1. 确认自定义转换函数的有效性

如果你的changeMonth函数还未完善,推荐基于字典映射实现(无需依赖locale模块),示例如下:

def changeMonth(month_abbr):
    # 英文月份缩写 -> 法语全称的映射表
    month_translation = {
        'Jan': 'Janvier',
        'Feb': 'Février',
        'Mar': 'Mars',
        'Apr': 'Avril',
        'May': 'Mai',
        'Jun': 'Juin',
        'Jul': 'Juillet',
        'Aug': 'Août',
        'Sep': 'Septembre',
        'Oct': 'Octobre',
        'Nov': 'Novembre',
        'Dec': 'Décembre'
    }
    # 匹配返回对应法语名,无匹配则返回原值(可替换为pd.NA处理异常)
    return month_translation.get(month_abbr, month_abbr)

2. 将函数应用到Pandas列

直接使用Pandas的apply()方法,将自定义函数批量作用于df["month"]列,可选择生成新列或覆盖原列:

import pandas as pd

# 示例DataFrame(模拟你的数据)
df = pd.DataFrame({"month": ["Jan", "Feb", "Mar", "Oct", "Dec"]})

# 生成新列存储法语月份
df["month_french"] = df["month"].apply(changeMonth)

# 若需覆盖原列,执行:
# df["month"] = df["month"].apply(changeMonth)

# 查看结果
print(df)

执行后输出示例:

month month_french
0   Jan       Janvier
1   Feb       Février
2   Mar          Mars
3   Oct       Octobre
4   Dec      Décembre

注意事项

  • 若df["month"]中存在缺失值或不匹配的缩写,get()方法会返回原输入值;如需标记异常值,可将返回默认值改为pd.NA
  • 确保映射表覆盖所有可能出现的英文月份缩写(如区分Sep/Sept这类不同缩写场景)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 06:50:56