【发布时间】:2021-06-20 13:13:09
【问题描述】:
我有一个如下所示的数据框。我需要使用 ID 和 Serial 的组合并计算修订号。
| ID | Serial | Time | Revision |
|---|---|---|---|
| 48ff35eb-70ad-4dcd-a441-8c7c9966a236 | ABC | 12/31/2020 8:37:13 AM | |
| 78faedd8-a250-4e52-ac81-a29d46715a51 | PQR | 12/03/2019 1:30:00 AM | |
| 48ff35eb-70ad-4dcd-a441-8c7c9966a236 | ABC | 12/31/2020 8:37:13 AM | |
| 48ff35eb-70ad-4dcd-a441-8c7c9966a236 | ABC | 01/23/2021 5:18:44 PM | |
| 78faedd8-a250-4e52-ac81-a29d46715a51 | ABC | 10/23/2020 8:01:08 AM | |
| 48ff35eb-70ad-4dcd-a441-8c7c9966a236 | ABC | 01/20/2021 8:10:27 PM |
预期结果:
| ID | Serial | Time | Revision |
|---|---|---|---|
| 48ff35eb-70ad-4dcd-a441-8c7c9966a236 | ABC | 12/31/2020 8:37:13 AM | 1 |
| 78faedd8-a250-4e52-ac81-a29d46715a51 | PQR | 12/03/2019 1:30:00 AM | 1 |
| 48ff35eb-70ad-4dcd-a441-8c7c9966a236 | ABC | 12/31/2020 8:37:13 AM | 1 |
| 48ff35eb-70ad-4dcd-a441-8c7c9966a236 | ABC | 01/23/2021 5:18:44 PM | 3 |
| 78faedd8-a250-4e52-ac81-a29d46715a51 | ABC | 10/23/2020 8:01:08 AM | 1 |
| 48ff35eb-70ad-4dcd-a441-8c7c9966a236 | ABC | 01/20/2021 8:10:27 PM | 2 |
我尝试了以下方法:
columns_of_interest = ["ID", "Serial"]
df["revision"] = df.groupby(columns_of_interest).cumcount() + 1
然后,我刚刚获得了每个组的行数,但我如何获得准确的版本号?
【问题讨论】:
标签: python python-3.x pandas python-3.8