python - pandas.groupby().plot() 堆叠每组的行数,而不是实际值

标签 python pandas plot bar-chart stacked-chart

我正在尝试创建一个堆叠条形图,它显示客户的两种交易类型。该图按周分类为列。 我的代码结构中的示例代码如下:

%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

当前: result_im_currently_getting

我需要的是一个堆积条形图,它给出了一周中列出的每个日期的 sale_count 总和,如下所示

预期:

result_im_trying_to_get

谁能告诉我我在这里做错了什么?

最佳答案

类似于评论:

(df.groupby(['week','transaction_type'])['sale_count']
   .sum().unstack('transaction_type')
   .plot.bar(stacked=True)
)

输出:

enter image description here

关于python - pandas.groupby().plot() 堆叠每组的行数,而不是实际值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57795407/

相关文章:

python - 如何在 python 发行版中包含 docs 目录

python - 从 SciPy 稀疏 Coo 矩阵填充 Pandas SparseDataFrame

javascript - 从文本文件创建一个 javascript 对象

python - 根据另一列 pandas 中的条件查找重叠时间间隔

python - 为什么 Windows 上的 python 2.7 在打印时需要在 unicode 字符前加一个空格?

python - 如何在数据框中删除重复项并首先保留两个异常(exception)?

python - 用 python 和 matplotlib 绘制图形问题

MATLAB::均方误差与 SNR 图

Python IP解析

python - 在python中查找两个日期之间的月数