0

code:

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())

error:

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

E_net4
  • 27,810
  • 13
  • 101
  • 139
Pavan
  • 381
  • 1
  • 4
  • 19

1 Answers1

2

EDIT: After test data it seems there is only last digit of year, so for parse 1-12 to 2001-12-01 is necessary use:

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
jezrael
  • 822,522
  • 95
  • 1,334
  • 1,252