我正在尝试创建一个堆叠的条形图,以显示客户的两种交易类型。该图按周分类为列。 我的代码结构中的示例代码如下:
%matplotlib inline
import pandas as pd
values = [('1','2019-07-28','retail',11),
('1','2019-07-28','wholesale',18),
('1','2019-08-04','retail',7),
('1','2019-08-04','wholesale',12),
('1','2019-08-11','retail',6),
('1','2019-08-11','wholesale',16)]
columns = ['customer_id','week',
'transaction_type',
'sale_count']
df = pd.DataFrame(values, columns=columns)
df.groupby(['week','transaction_type']).size()\
.unstack()\
.plot(sort_columns='week',
kind='bar', stacked=True);
我得到的结果是每个transaction_type的行计数为1或2
当前:
我需要一个堆叠的条形图,它给出了一周中列出的每个日期的sale_count的总和,如下所示:
预期:
有人可以告诉我我在做什么错吗?
答案 0 :(得分:1)
类似于评论:
(df.groupby(['week','transaction_type'])['sale_count']
.sum().unstack('transaction_type')
.plot.bar(stacked=True)
)
输出:
答案 1 :(得分:0)