Набор данных (df), который я использую, основан на наборе цен Avocado, который можно найти ниже:
https://www.kaggle.com/neuromusic/avocado-prices
Я пытаюсь построить график волатильность цен (стандартное отклонение) авокадо по годам, месяцам и типам авокадо, как показано на рисунке ниже
Я пытался закодировать его следующим образом но я продолжаю получать сообщение об ошибке «значение» должно быть экземпляром str или байтов, а не с плавающей точкой:
month_dict = {1 : 'Jan',
2: 'Feb',
3: 'Mar',
4: 'Apr',
5: 'May',
6: 'Jun',
7: 'Jul',
8: 'Aug',
9: 'Sep',
10: 'Oct',
11: 'Nov',
12: 'Dec'}
cal_years =[2015, 2016, 2017]
types = ['conventional','organic']
df['Month'] = pd.to_datetime(df.index).month
fig, ax = plt.subplots(2,3, figsize=(15,10), sharey=True)
for type in types:
for axy in range(2):
for axx in range(3):
df_plot = df[(df['type'] == types[axy]) & (df['year'] == cal_years[axx])]
df_plot = df_plot.groupby('Month', as_index=False)['AveragePrice'].std()
df_plot['Month'] = df_plot['Month'].map(month_dict)
ax[axy, axx].plot('Month','AveragePrice',data=df_plot, color='blue',marker='o')
ax[axy, axx].set_title(str(cal_years[axx]) + ' ' + types[axy])
ax[axy, axx].tick_params(axis='x', rotation=45)
fig.suptitle('Season price fluctuation', size=16)
Буду признателен, если кто-нибудь сможет указать, почему код работает не так, как я ожидал. Большое спасибо