计算每个store_id的文章数量的最小时间戳



我想通过使用arrival_timestamp,在article_id级别上计算有多少文章首先到达store_Astore_B

参见以下示例:

主表


arrival_timestamp           article_id   store_id
2019-04-01 11:04             2            A
2019-04-01 13:12             2            B
2019-04-01 08:24             4            A
2019-04-01 10:24             4            B
2019-04-10 07:00             7            A
2019-04-10 10:14             7            B
2019-04-23 07:34             9            A
2019-04-23 05:52             9            B

输出表


storeA_count_first_articles     storeB_count_first_articles
3                                1

这里有一种方法:

first_arrivals = df.assign(first_arrival_timestamp = df.groupby("article_id")["arrival_timestamp"].transform("min")).
query("arrival_timestamp == first_arrival_timestamp")
pd.pivot_table(first_arrivals, columns="store_id", aggfunc="count", values=["article_id"])

输出:

store_id    A  B
article_id  3  1

最新更新