【发布时间】:2021-02-22 01:36:58
【问题描述】:
我有下面的数据集,我想从该特定 ID 中提取第一次和最后一次出现日期。最后和第一次出现的结果应该是这样的:
id date last_apparence first_apparence
653777 2021-02-19 2021-02-19 2021-02-19
1873547 2021-02-19 2021-02-19 2021-02-19
657443 2021-02-19 2021-02-19 2021-02-19
653777 2021-02-20 2021-02-20 2021-02-19
因此,例如,ID 653777 出现在 19 日和 20 日,在这种情况下,第一次出现是 19 日,最后一次出现是 20 日。我尝试使用
我尝试在下面使用此代码,但为整个列获得相同的值。
df['latest_apparence'] = df['date'][df.index[-1]]
我的最后一种方法是进行 groupby,但即使尝试了一堆不同的组,我得到的最接近的东西类似于 excel 中的 countif 公式,但我没有得到第一个/最后一个日期,只有多少id 在数据集中显示的次数
df.groupby(['id'])[['date']].count()
有人知道获得此结果的最佳方法是什么吗?
谢谢
【问题讨论】: