我试图从字符串格式的日期列中提取月份,如下所示
发布日期 |
---|
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]
工作得很好。
我不确定代码哪里做错了。 如果有人可以帮助我,我真的很乐意。
您可以使用 .dt 访问器直接从 datetime 对象中提取月份,例如: df['month'] = pd.to_datetime(df['release_date'], errors='coerce').dt.month