python - 计算每个 store_id 有多少文章的最小时间戳
问题描述
我想在 article_id 级别store_A
上store_B
使用arrival_timestamp
请参阅以下示例:
主表
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
推荐阅读
- php - php 文件中未捕获的异常“PDOException”
- excel - Excel:如果单元格1为空,则在单元格2中显示“NA”,否则显示带有一些选项的下拉列表
- java - 从 Spring 3.2 迁移到 Spring 4.3
- matplotlib - Matplotlib 旋转 3d 对象
- python - 如果从未在测试中直接调用函数,是否可以制作 pytest 报告?
- apache-kafka - Kafka + Spring Batch Listener Flush Batch
- powershell - 以登录用户身份运行 powershell 脚本
- ios - Issue in updating value from `UserDefaults` in Swift
- macos - 是否可以在当前 Finder 位置打开 iTerm
- java - 如何使用 selenium webdriver 压缩和通过电子邮件发送在黄瓜中生成的测试报告