【发布时间】:2017-09-22 14:53:09
【问题描述】:
我有一个分组的 pandas groupby 对象。
dis type id date qty
1 1 10 2017-01-01 1
1 1 10 2017-01-01 0
1 1 10 2017-01-02 4.5
1 2 11 2017-04-03 1
1 2 11 2017-04-03 2
1 2 11 2017-04-03 0
1 2 11 2017-04-05 0
我想对这个 groupby 对象应用一些操作。
- 我想添加一个新列 total_order,用于计算特定材料在特定日期的订单数量
- zero_qty 列计算特定材料特定日期的零订单数
- 更改日期列,使其计算特定材料的每个后续订单之间的天数。第一个订单变为 0。
最终的数据框应该是这样的:
dis type id date qty total_order zero_qty
1 1 10 0 1 2 1
1 1 10 0 0 2 1
1 1 10 1 4.5 1 1
1 2 11 0 1 3 2
1 2 11 0 2 3 2
1 2 11 0 0 3 2
1 2 11 2 0 1 1
【问题讨论】:
-
向我们展示您迄今为止所做的尝试。
-
欢迎来到 Stack Overflow。你已经尝试过什么来做到这一点?请查看How much research effort is expected?。 Stack Overflow 不是编码服务。您应该在发布之前研究您的问题并尝试自己编写代码。如果您遇到特定的问题,请返回并附上Minimal, Complete, and Verifiable example 和您尝试过的内容的摘要,以便我们提供帮助。
-
我只根据 dis、type 和 id 对数据框进行了分组,但我仍然坚持使用 groupbyobject。如果不应用任何聚合函数,我无法将 groupby 对象转换为数据框。早些时候,我对特定日期的数量字段求和,以获得经过的天数。但我无法弄清楚如何保持我的字段完好无损并仅添加列以获得所需的输出