我正在尝试使用seaborn制作热图,以y轴为月。但是我看到,如果我在制作数据透视表后调用calendar.head(),则数据透视表按字母顺序排列月份列,而不是我在csv文件中的时间顺序。无论如何阻止大熊猫按字母顺序排序,还是按照时间顺序重新排序?
import seaborn as sns
df = pd.read_csv("C:/Users/Paul/Desktop/calendar.csv")
calendar = df.pivot("Month", "Year", "hPM2.5")
ax = sns.heatmap(calendar, annot=True, fmt="d")
答案 0 :(得分:1)
假设您将一年中的月份存储在列表中(按顺序),如下所示:
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
这些字符串用于表示数据透视表中的月份。
然后您可以通过使用正确排序的months
列表切换索引来简单地使用数据透视表:
calendar = calendar.reindex(months)
现在可以正确订购您的数据透视表。