Я думаю, вам нужно сначала преобразовать столбец date
to_datetime
, а затем к year
.
Тогда set_index
и последний DataFrame.plot.bar
:
df.date = pd.to_datetime(df.date).dt.year
df = df.set_index('date')
df.index.name= None
print (df)
A B C D
2010 53936248 53928376 7840 2800
2011 22936276 53928404 7840 2800
2012 523763 53928404 7840 2800
df.plot.bar(rot=0)
Если палочка участок dates
:
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
df.date = pd.to_datetime(df.date)
df = df.set_index('date')
df.index.name= None
print (df)
A B C D
2010-02-17 53936248 53928376 7840 2800
2011-02-17 22936276 53928404 7840 2800
2012-02-17 523763 53928404 7840 2800
ax = df.plot.bar(rot=45)
ticklabels = df.index.strftime('%Y-%m-%d')
ax.xaxis.set_major_formatter(ticker.FixedFormatter(ticklabels))
plt.show()