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

bvn4nwqk  于 2023-04-10  发布在  Python
关注(0)|答案(1)|浏览(137)

我特灵从一个日期列中提取月份,该日期列为字符串格式,如下所示
| 发布日期|
| --------------|
| 2009- 02 -10 2009- 02 -10|
| 2010- 03 -12 2010- 03 -12|
| 2021-4-12 - 2021 -12 - 21|
我使用的方法:

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]工作得很完美。
我不知道我在代码中做错了什么。如果有人能帮助我,我真的很感激。

jhdbpxl9

jhdbpxl91#

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

相关问题