【发布时间】:2020-06-12 16:35:59
【问题描述】:
我有一个下面的数据框
id action
================
10 CREATED
10 111
10 222
10 333
10 DONE
10 222
10 UPDATED
777 CREATED
10 333
10 DONE
我想创建一个新列“检查”,该列将基于数据框中先前行中的数据:
- 在操作列中查找单元格 = "DONE"
- 在 DONE 之前搜索先前行中具有相同 ID 的第一个 CREATED 或 UPDATED。如果它已创建,则放入 C,如果已更新,则放入 U。
输出:
id action check
================
10 CREATED
10 111
10 222
10 333
10 DONE C
10 222
10 UPDATED
777 CREATED
10 333
10 DONE U
我尝试使用多个 if 条件,但它对我不起作用。你能帮忙吗?
【问题讨论】:
-
每个
id可以有多个DONE值吗? -
是的,每个 id 可以有多个 DONE,但在每个 DONE 之前,应该为该 id 创建或更新。
标签: python pandas dataframe if-statement