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

如何在Pandas DataFrame中将Month-Year格式拆分为单独列?

解决方法:拆分「Month-Year」列报错的问题

错误原因

你直接调用df['Month-Year'].split()报错,是因为pandas的Series对象没有split方法——split是Python原生字符串的方法,必须通过Series的str属性来调用字符串处理方法。

具体解决方案

方法1:直接拆分字符串(最常用)

利用str.split结合expand=True,将拆分结果直接转为两列:

import pandas as pd

# 假设你的数据集是df,目标列名为'Month-Year'
df[['Month', 'Year']] = df['Month-Year'].str.split('-', expand=True)

如果存在多分隔符的情况(比如Jan-2023-xxx),可以用n=1限定只拆分一次,确保只得到月份和年份两列:

df[['Month', 'Year']] = df['Month-Year'].str.split('-', n=1, expand=True)

方法2:通过日期类型提取(更规范)

如果「Month-Year」是标准日期格式(比如Jan-2023),可以先转为日期类型,再提取月份和年份,避免拆分异常:

# 转换为日期类型(根据实际格式调整format参数,比如'%B-%Y'对应'January-2023')
df['Date'] = pd.to_datetime(df['Month-Year'], format='%b-%Y')
# 提取月份名称和年份
df['Month'] = df['Date'].dt.month_name()
df['Year'] = df['Date'].dt.year
# 可选:删除中间Date列
df.drop('Date', axis=1, inplace=True)

前置检查

  • 确认列名拼写正确,比如是否是'Month-Year'而非其他写法
  • 确保目标列是字符串类型,若不是先转换:
    df['Month-Year'] = df['Month-Year'].astype(str)
    

内容的提问来源于stack exchange,提问作者Samridh Vikhas S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 04:21:48