Showing index as xticks for pandas plot
If you want to have string as xticks one possible solution is:
df = df.reset_index()
df = df.rename(columns={"index":"hour"})
ax = df.plot(xticks=df.index)
ax.set_xticklabels(df["hour"]);
Until the bug in Pandas gets fixed, add this after df.plot(), no need for anything else:
plt.xticks(range(len(df.index)), df.index)