我有一个稍微奇怪的csv文件,其中月份列重复出现。我的目标是创建一个条形图,其中每个月有两列y(从a和b)。我试图通过将数据框分为两个部分来实现这一点——仅a和b——但月列的重复会造成阻碍。python和pandas还比较陌生,所以也许有一个函数我不知道?感谢您的帮助。
month cond. y
Jan a 4
Jan b 8
Feb a 2
Feb b 9
March a 3
March b 7
2条答案
按热度按时间lndjwyie1#
我觉得这个问题一定有一个适用的副本,但我无法找到一个足够相关的副本来回答这个问题。
因此,解决这个问题最常用的方法可能是通过via将长格式数据重塑为宽格式数据
pivot
然后DataFrame.plot
:有一个值得注意的问题是,x轴列的顺序不正确,因为它们是按字母顺序排列的,而不是按日期排序的。一种选择是
reindex
在策划之前。如果月份列是常规的,则会有更多选项,但由于它同时包含完整的月份名称和缩写,手动重新编制索引可能是最好的选项。seaborn在解决这类问题时非常受欢迎
hue
参数允许避免重塑步骤。另外x
将按顺序出现在框架中,以便reindex
也没有必要(假设数据在源 Dataframe 中以正确的顺序出现)sns.barplot
:yhqotfr82#
使用“色调”属性进行分类也有效
结果图