Matplotlib 日期和条形图绘图的年份提取

Matplotlib 日期和条形图绘图的年份提取,matplotlib,Matplotlib,我想画一个按年份划分的产品条形图。共有4列。 列日期格式为:2018-01-01。。。 其他列是产品的编号 “转换为年份”列中有一个错误: df = pd.read_csv('products.csv',sep=';', usecols=['Date','product1','product2','product3'],parse_dates=['Date']) df.set_index('Date',inplace=True) df['Year']=df.Date.dt.strftime('%

我想画一个按年份划分的产品条形图。共有4列。 列日期格式为:2018-01-01。。。 其他列是产品的编号

“转换为年份”列中有一个错误:

df = pd.read_csv('products.csv',sep=';', usecols=['Date','product1','product2','product3'],parse_dates=['Date'])
df.set_index('Date',inplace=True)
df['Year']=df.Date.dt.strftime('%Y')
错误:“DataFrame”对象没有属性“Date”

只有2018年、2019年,我怎么能写一个新的专栏“年”。。。
并将其放入条形图中?

既然
日期列已变成数据框的
索引,您可以直接从索引中提取该日期的“年”,前提是您首先检查了该索引是否确实是
日期时间索引


类型(df.index)#应返回类似pandas.core.index.datetimes.DatetimeIndex的内容
#如果是日期时间索引:
df['year']=df.index.year
如果
type(df.index)
是字符串或其他类型,则可以首先将其转换为
DatetimeIndex
,然后提取年份,如下所示:

df['year'] = pd.DatetimeIndex(df.index).year

因此,一旦将轴设置为日期,该列就不再存在。如果看不到你的数据,很难判断。你能和我共用几排吗?最重要的是,每年是否有多行?条形图每年的合计值是多少?对不起,你是对的。第0行:日期=2018-01-01,产品编号。第1行:日期=2018-02-01…每一行都是不同的一天。