我有一个简单的长格式数据集,我想从中生成条形图。dataframe看起来像这样:
data = {'Year':[2019,2019,2019,2020,2020,2020,2021,2021,2021],
'Month_diff':[0,1,2,0,1,2,0,1,2],
'data': [12,10,13,16,12,18,19,45,34]}
df = pd.DataFrame(data)
我想绘制一个条形图,其中有3行,分别为2019年,2020年和2021年。X轴为month_diff
,data
在Y轴上。我如何做到这一点?
如果数据在不同的列中,那么我可以使用以下代码:
df.plot(x="X", y=["A", "B", "C"], kind="bar")
但是我的data
是在一个单独的列中,理想情况下,我希望每年都有不同的行。
1条答案
按热度按时间chhkpiq41#
1.
seaborn.catplot
长格式 Dataframe 最简单的选择是
seaborn.catplot
Package 器,正如Johan所说:2.
pivot
+DataFrame.plot
无海运:
pivot
从长格式到宽格式(每列1年)DataFrame.plot
和subplots=True
将每一年放入它自己的子图中(也可以选择sharey=True
)请注意,如果您更喜欢单个分组条形图(您在最后提到),您可以省略
subplots
参数:3.
DataFrame.groupby
+subplots
你也可以迭代
df.groupby('Year')
对象:subplots
轴网格