关于在python中从日期时间转换和提取月份的问题

问题描述 投票:0回答:1

我试图从字符串格式的日期列中提取月份,如下所示

发布日期
2009-2-10
2010-3-12
2021-4-12

我用的方法:

def year(x):
  if x != np.nan:
    return str(x).split('-')[1]
  else:
    return None

df['month'] = pd.to_datetime(df['release_date'], errors = 'coerce').apply(year)

str(x).split('-')[1] 预计会返回 '2'、'3'、'4'

然而,错误就这样上升了

list index out of range
str(x).split('-')[1]

但是

str(x).split('-')[0]
工作得很好。

我不确定代码哪里做错了。 如果有人可以帮助我,我真的很乐意。

python datetime split apply
1个回答
0
投票

您可以使用 .dt 访问器直接从 datetime 对象中提取月份,例如: df['month'] = pd.to_datetime(df['release_date'], errors='coerce').dt.month

© www.soinside.com 2019 - 2024. All rights reserved.