我制作了下面的数据框,其中有3家公司A,B和C。公司在2016年至2018年期间购买了一定数量的代金券。有些日子,例如。 A公司以$ 3000美元的价格购买了100件,而其他公司则没有购买。
我想看看这两家公司在过去两年中在代金券上的花费如何比较,所以我的想法是:
将每个公司每个月花费的所有资金相加,然后以条形图或仅以标准线的形式绘制-因此,三条线的颜色不同。 自从其2年的数据以来,x轴上大约有24个日期点
我尝试过类似的操作:plt.bar(A ['Datetime'],A ['PaidTotal']) 但是get:ufunc减去不能使用类型为dtype('
但这只是针对一家公司,而不是针对一张图中的所有3家公司 (我可以对这些日期进行排序,这没问题)
Company Name PaidTotal Datetime
585 CompanyA 218916.0 2016-10-14 10:51:07
586 CompanyB 430000.0 2017-01-23 11:05:08
591 CompanyB 546217.0 2016-09-26 14:20:00
592 CompanyC 73780.0 2016-12-07 07:52:01
593 CompanyA 132720.0 2016-10-04 16:14:10
595 CompanyC 52065.0 2016-11-12 14:32:40
答案 0 :(得分:0)
有关条形图,您可以致电df.groupby('Company Name')['PaidTotal'].sum().plot.bar()
:
要查看随时间变化的所有三种折线图,您可以尝试以下操作(轴是错误的,但这是总体思路):
sums = df.groupby(['Company Name', 'Datetime'])['PaidTotal'].sum().reset_index(level=0)
for company in sums['Company Name'].unique():
sums[sums['Company Name'] == company]['PaidTotal'].plot();