如何计算最近日期和第二个最近日期的行数之间的差异

How to calculate difference between amount of rows for most recent date and second most recent date

我有以下 df:

Index     Address     Date     
0  0x06b  2021-12-02  16:03:09.332
1  0x04t  2021-12-03  16:03:09.332
2  0x12c  2021-12-03  16:03:09.332
3  0x3d5  2021-12-04  16:03:09.332
4  0x077  2021-12-04  16:03:09.332
5  0x998  2021-12-04  16:03:09.332

我想计算最近日期(t)之间的行数(列的len())的差异,在本例中为2021-12-04 16:03:09.332)和前一个日期 (t-1) 以及任何前一个日期 (t-2, t-3, ..., t-n)。

在这种情况下,t - (t-1) 的答案应该是 1,因为最近的日期有 3 行,而第二个最近的日期有 2 行。 3-2 = 1.

我已经尝试实施 中的解决方案,但它似乎不起作用。

我假设您想计算每天的记录数与最新可用日期的增量 - 以下是否可以满足您的需求:

import pandas as pd
# Set up the test dataframe
df = pd.DataFrame({"Address":["2021-12-02", "2021-12-03","2021-12-03","2021-12-04", "2021-12-04", "2021-12-04"]})
df["Address"] = pd.to_datetime(df["Address"])

df2 = df.groupby("Address")[["Address"]].count().rename(columns={"Address": "count"})
# This will make sure it will calculate vs last available date
df2.at[max(df2.index),"count"] - df2

输出

            count
Address
2021-12-02      2
2021-12-03      1
2021-12-04      0