我总结了一个分组依据的值。我想画出来。
我按需要的数据分组。但是,我找不到如何绘制它。
我有以下代码:
subset_sales = sales[sales['Is Good'] == 1].groupby(['Name','Delivery hour','Delivery Date'])['Volume'].agg('sum')
这给了我输出:
Name Delivery Hour Delivery Date
Angela Morning Monday 1
Tuesday 2
Wednesday 3
Thursday 5
Friday 2
...
Eva Afternoon Monday 7
Tuesday 3
Wednesday 5
Thursday 2
Friday 4
Name: Volume,Length: 100,dtype: float64
我重置了索引:
subset_sales_2 = subset_sales.reset_index()
它提供以下输出:
Name Delivery Hour Delivery Date Volume
0 Angela Morning Monday 1
1 Angela Morning Tuesday 2
2 Angela Morning Wednesday 3
3 Angela Morning Thursday 5
4 Angela Morning Friday 2
... ... ... ...
17955 Eva Afternoon Monday 7
17956 Eva Afternoon Tuesday 3
17957 Eva Afternoon Wednesday 5
17958 Eva Afternoon Thursday 2
17959 Eva Afternoon Friday 4
我只设法得到两个子图。目的是在同一日期的Eva和Angela的Y轴上绘制不同交货时间的体积,并以X轴为交货日期。预期的输出是每次交货(上午和下午)有两条线(两条线(Eva和Angela))。
我第一次尝试:
subset_sales_2.plot()
但是输出只是一条曲线。它看起来像所有总体积的总和。
最后,我尝试了:
subset_sales_3 = subset_sales_2.loc[(subset_sales_2['Name'] == 'Angela') & (subset_sales_2['Delivery Hour'] == 'Morning')]
subset_sales_3 = subset_sales_3.set_index('Delivery Date')
subset_sales_3['Volume'].plot()
subset_blocks_4 = subset_sales_2.loc[(subset_sales_2['Name'] == 'Eva') & (subset_sales_2['Delivery Hour'] == 'Morning')]
subset_sales_4 = subset_sales_4.set_index('Delivery Date')
subset_sales_4['Volume'].plot()
subset_sales_3['Volume'].plot() + subset_sales_4['Volume'].plot()
我收到以下错误:
TypeError: unsupported operand type(s) for +: 'AxesSubplot' and 'AxesSubplot'
仍然有一个图表作为输出,但是索引错误,因为交付日期的数量不同。
我尝试过:
subset_blocks.xs('Morning',level = 1).reset_index().plot()
我得到一张图表,其中一线代表成交量,而不是两线,一幅代表伊娃,另一根代表安吉拉。