【发布时间】:2018-08-15 09:41:50
【问题描述】:
我有一个如下所示的数据框:
Name Status Date
1 Joe In 1/2/2003
2 Pete Out 1/2/2003
3 Mary In 1/2/2003
• • •
4 Joe In 3/4/2004
5 Pete In 3/5/2004
6 Mary Out 4/8/2004
如果我执行以下分组操作:
df.groupby(["Name", "Status"]).last()
我得到以下信息:
Joe In 3/4/2004
Pete In 3/5/2004
Out 1/2/2003
Mary In 1/2/2003
Out 4/8/2004
请注意,Joe 没有“out”分组结果,因为数据框中没有 Joe 的“out”值。
我希望能够从数据框或后续 groupby 中选择在某个日期范围内只有“In”状态或“out”状态的人,而不是同时具有“in”和“的人特定日期范围内的“出局”。我对如何处理这个问题感到困惑。如果 groupby 结果给了我类似的信息,我可以继续:
Joe Out np. Nan
但事实并非如此。
哦,我最后做 groupby,因为我需要得到人们离开“In”和“out”状态的最后日期,比如 Pete 和 Mary。但我需要以不同的方式对待乔——他在此期间只有“入”状态而没有“出”状态。
任何指导表示赞赏。
【问题讨论】:
-
你的预期输出是什么
-
不确定您提出什么解决方案
-
我需要 3 个数据框,它们看起来像 groupby 的结果,每个分组状态的最后日期。在一个只有 "in"s 的数据框名称中。在一个只有“出局”的数据框名称中。在带有“in”和“out”的第三个数据框名称中。每个数据框都应该有状态(组)和最后日期。因此,在我上面的组中,Joe 将在一个数据帧中,Pete 和 Mary 在第二个数据帧中,并且没有第三帧,因为没有名称只有“out”状态。