【发布时间】:2020-11-28 12:25:48
【问题描述】:
有很多与条件累积和相关的查询和答案(Cumsum Reset based on a condition in Pandas、Reset Cumulative sum base on condition Pandas、Cumsum Reset based on a condition in Pandas)。但我无法解决我面临的问题。以下是我拥有的部分数据,要求是保持对“类型”和相应累积总和的变化进行计数。
type sale
y 10
y 20
y 5
n 30
n 20
n 5
y 10
y 40
y 15
我的要求是获取类型变化和累积销售的序列计数,如下所示。
type sale tp_cum cum_sale
y 10 1 10
y 20 1 30
y 5 1 35
n 30 2 30
n 20 2 50
n 5 2 55
y 10 3 10
y 40 3 50
y 15 3 65
我尝试了以下代码的各种修改,但不完全符合要求。请帮忙。
sales['cum_sale'] = stock.groupby('type')['sale'].cumsum()
数据框:
df = pd.DataFrame([["y",10 ],
["y",20 ],
["y",5 ],
["n",30 ],
["n",20 ],
["n",5 ],
["y",10 ],
["y",40 ],
["y",15 ]],columns = ["type","sale"])
【问题讨论】:
-
我认为循环遍历行效率太低,或者有其他东西反对这样做?
标签: python pandas cumulative-sum