How do I resolve : value error : time data '1901-Jan' does not match format '%Y-%m

How do I resolve : value error : time data '1901-Jan' does not match format '%Y-%m

代码:

import pandas as pd
import seaborn as sb
import matplotlib.pyplot as plt
import numpy as np
import datetime as dt
%matplotlib inline
def parser(x):
    return dt.datetime.strptime('19'+x, '%Y-%m')

series = pd.read_csv('datasets/shampoo_sales.csv', header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)
print(series.head())

错误:

Value error: time data '1901-Jan' does not match format '%Y-%m'

编辑:测试数据后似乎只有年份的最后一位数字,因此要将 1-12 解析为 2001-12-01 必须使用:

def parser(x):
    return dt.datetime.strptime('200'+x, '%Y-%m')

series = pd.read_csv('shampoo.csv', 
                      header=0, 
                      parse_dates=[0], 
                      index_col=0, 
                      squeeze=True, 
                      date_parser=parser)
print(series.head())
Month
2001-01-01    266.0
2001-02-01    145.9
2001-03-01    183.1
2001-04-01    119.3
2001-05-01    180.3
Name: Sales, dtype: float64