我想制作一个线图,其中x轴是年份,y轴是avo_sales.groupby(['year','type'])['type'].count()
,这意味着每年每种类型的计数,色相是类型。我无法完成这项工作。它说TypeError: object of type 'int' has no len()
这是我要绘制的数据
avo_sales.groupby(['year','type'])['type'].count()
Out[17]:
year type
2015 conventional 2790
organic 2807
2016 conventional 2808
organic 2808
2017 conventional 2862
organic 2860
2018 conventional 648
organic 648
Name: type, dtype: int64
这是我的情节代码
plt.figure()
sns.lineplot(x= avo_sales.year,y=avo_sales.groupby(['year','type'])['type'].count(),hue = avo_sales.type)
答案 0 :(得分:1)
您可以尝试以下方法。
pd.__version__
使用它们显示熊猫的版本。
df = pd.read_csv('avocado.csv')
df = df.groupby(['year','type']).agg(count=('type', 'count'))
# print df here to see how the columns are displaying
df = df.reset_index()
# print df here to see the difference
sns.lineplot(x="year", y="count", hue='type', data=df)