时间序列累计和的python码

2024-04-30 02:54:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas dataframe,它有一个列Date_of_Purchase,有许多datetime值:

dop_phev = rebates[rebates['Vehicle_Type']=='Plug-in Hybrid']['Date_of_Purchase']
dop_phev

输出:

^{pr2}$

我想画一个累计购买量的曲线,y,与日期,x。我开始研究一个解决方案,在这个方案中,我循环遍历每个日期,并计算所有小于该日期的日期,但这绝对是一个“非Python式”的解决方案。我如何用pythonic代码来实现这一点呢?在

我不确定我现在的解决方案是什么:

dop_phev = rebates[rebates['Vehicle_Type']=='Plug-in Hybrid']['Date_of_Purchase']
cum_count = np.zeros(len(dop_phev.unique()))
for i, date in enumerate(dop_phev.unique()):
    cum_count[i] = sum(dop_phev<date)
plt.plot(dop_phev.unique(),cum_count)

这不太管用。。。在

作为参考,我正在研究电动汽车的回扣。您可以在我的GitHub repohere上找到数据的CSV。在


Tags: ofindatetypecount解决方案purchaseplug
1条回答
网友
1楼 · 发布于 2024-04-30 02:54:49

您可以使用^{},然后使用^{}

dop_phev = dop_phev.groupby(dop_phev).apply(lambda x: sum(dop_phev<x.name))
print (dop_phev)
2015-07-20    0
2015-07-24    3
2017-06-14    5
2017-09-16    6
2017-09-18    7
2017-09-21    8
2017-09-22    9
Name: Date_of_Purchase, dtype: int64

dop_phev.plot()

相关问题 更多 >