我特灵从一个日期列中提取月份,该日期列为字符串格式,如下所示
| 发布日期|
| --------------|
| 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]
工作得很完美。
我不知道我在代码中做错了什么。如果有人能帮助我,我真的很感激。
1条答案
按热度按时间jhdbpxl91#
您可以使用.dt访问器直接从datetime对象中提取月份,如:df['month'] =pd.to_datetime(df['release_date'],errors='coerce').dt.month