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
代码:
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