【发布时间】:2018-04-18 12:30:39
【问题描述】:
我想在数据框中添加一列,其中包含每个组 G 在时间 t 之前发生的变量 x 中不同观察的数量.
注意:t 是日期时间格式,数据中可能存在缺失值,但可以忽略。同一个x 可以在一个组中出现多次,但随后被分配相同的日期。分配给x 的时间在各组中不同。
我希望这个例子有帮助:
输入:
Group x t
1 a 2013-11-01
1 b 2015-04-03
1 b 2015-04-03
1 c NaT
2 a 2017-03-01
2 c 2013-11-06
2 d 2015-04-26
2 d 2015-04-26
2 d 2015-04-26
2 b NaT
输出:
Group x t Number of unique x before time t
1 a 2013-11-01 0
1 b 2015-04-03 1
1 b 2015-04-03 1
1 c NaT NaN
2 a 2017-03-01 2
2 c 2013-11-06 0
2 d 2015-04-26 1
2 d 2015-04-26 1
2 d 2015-04-26 1
2 b NaT NaN
数据集非常大,所以我想知道是否有任何矢量化方式可以做到这一点(例如使用groupby)。
非常感谢
【问题讨论】:
标签: python-3.x pandas dataframe apply