【发布时间】:2020-05-08 04:31:44
【问题描述】:
我有一个这种形式的数据框:
A B time
1 2 2019-01-03
1 3 2018-04-05
1 4 2020-01-01
1 4 2020-02-02
其中 A 和 B 包含一些整数标识符。 我想测量每个 A 与之交互的不同标识符的数量。为此,我通常只需这样做
df.groupby('A')['B'].nunique()
我现在必须做一件稍微不同的事情:每个标识符都有一个分配的日期(每个标识符都不同),它将其交互分成两部分:在该日期之前发生的那些,以及在该日期之后发生的那些。之前完成的相同操作(计算与 交互的唯一 B 的数量)需要分别为两个部分完成。
例如,如果 A=1 的日期是 2018-07-01,则输出为
A before after
1 1 2
在真实数据中,A 包含数百万个不同的标识符,每个标识符都有其唯一的日期。
已编辑 为了更清楚,我在 df.xml 中添加了一行。我想计算日期之前和之后每个 A 与之交互的 B 的不同值的数量
【问题讨论】:
标签: python python-3.x pandas