我正在尝试创建一个堆叠条形图,它显示客户的两种交易类型。该图按周分类为列。 我的代码结构中的示例代码如下:
%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 总和,如下所示
预期:
谁能告诉我我在这里做错了什么?
最佳答案
类似于评论:
(df.groupby(['week','transaction_type'])['sale_count']
.sum().unstack('transaction_type')
.plot.bar(stacked=True)
)
输出:
关于python - pandas.groupby().plot() 堆叠每组的行数,而不是实际值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57795407/