我有一个数据集,长这样
I.D Timestamp
F322 2019-02-20 23:47:30.057
F322 2019-02-20 23:48:01.959
F322 2019-02-20 23:50:04.308
F422 2019-02-24 22:22:37.418
F422 2019-02-24 22:24:05.397
我正在尝试创建一个新列,它通过 I.D 列进行分组,并减去已排序的时间戳之间的差异,然后再减去其前面的时间戳。有些 I.D 具有 2、3 或 4 个时间戳。
输出将类似于以下内容:
I.D Timestamp Minutes
F322 2019-02-20 23:47:30.057 NaN
F322 2019-02-20 23:48:01.959 0.5
F322 2019-02-20 23:50:04.308 2.0
F422 2019-02-24 22:22:37.418 NaN
F422 2019-02-24 22:24:05.397 1.5
我过去曾经使用以下代码,不过是用于其他用途。
df.groupby('I.D')['Timestamp'].agg(lambda x: x.iat[0] < x.iat[-1])
np.where(df['I.D'].map(mask), 1, 2)
只能导致按ID分组的第一行和第二行产生值为1或2,仅生成值而不进行计算。
感谢查看!