Python 创建具有不同类别的堆叠条形图
我有以下数据帧:Python 创建具有不同类别的堆叠条形图,python,pandas,visualization,Python,Pandas,Visualization,我有以下数据帧: print(df) Keys Amount Unit Period 0 [AWS Lambda] 0.0988477846 USD 2021-04-01 1 [AWS Step Functions]
print(df)
Keys Amount Unit Period
0 [AWS Lambda] 0.0988477846 USD 2021-04-01
1 [AWS Step Functions] 0.155275 USD 2021-04-01
2 [Amazon Simple Notification Service] 0 USD 2021-04-01
3 [AWS Key Management Service] 0.0028137778 USD 2021-05-01
4 [AWS Lambda] 0.3184488309 USD 2021-05-01
5 [AWS Step Functions] 0.806125 USD 2021-05-01
6 [AWS Lambda] 0.2898902517 USD 2021-05-25
7 [AWS Step Functions] 0.604075 USD 2021-05-25
我想制作一个堆叠条形图,其中X轴上有期间(日期),然后是堆叠条形图中键的数量值
预期的结果大致如下:
我遇到的问题是,每个期间的组数不同。某些类别的键只显示一次
使用简单的代码进行绘图,如df.plot.bar(stacked=True)
可以省略类别或日期点
如果可能的话,我想在使用pandas dataframe及其本机plot函数时解决这个问题,但也可以使用其他库,如matplotlib
有没有其他方法可以解决这个问题?与first一起使用:
df1 = df.explode('Keys').pivot_table(index='Period',
columns='Keys',
values='Amount',
aggfunc='sum')
print (df1)
Keys AWS Key Management Service AWS Lambda AWS Step Functions \
Period
2021-04-01 NaN 0.098848 0.155275
2021-05-01 0.002814 0.318449 0.806125
2021-05-25 NaN 0.289890 0.604075
Keys Amazon Simple Notification Service
Period
2021-04-01 0.0
2021-05-01 NaN
2021-05-25 NaN
df1.plot.bar(stacked=True)