我有一个像这样的数据集:
我如何使用pandas找到在2021年首次雇用的员工在2022年被解雇的员工占总员工的百分比?
员工编号 | 事件日期 | 事件描述 | 102 | 2021-10-12 | 第一次雇佣 |
---|---|---|
103 | 2021-11-02 | 第一次雇佣 |
102 | 2022-01-01 | 终止 |
102 | 2021-12-12 | 转变变化 |
101 | 2021-12-03 | 第一次雇佣 |
103 | 2021-11-05 | 终止 |
101 | 2021-12-04 | 终止 |
105 | 2022-02-26 | 第一次雇佣 |
106 | 2022-02-26 | 第一次雇佣 |
102 | 2022-03-29 | 第二雇佣 |
107 | 2021-05-04 | 第一次雇佣 |
108 | 2022-04-04 | 第一次雇佣 |
109 | 2022-03-03 | 终止 |
109 | 2021-12-29 | 第一次雇佣 |
109 | 2022-04-01 | 第二雇佣 |
109 | 2022-01-10 | 转变变化 |
# Convert Event Date to Timestamp if it's not Timestamp already
df["Event date"] = pd.to_datetime(df["Event date"])
# First hired in 2021
cond1 = df["Event date"].dt.year.eq(2021) & df["Event Description"].eq("First Hire")
# Terminated in 2022 & first hired in 2021
cond2 = (
df["Event date"].dt.year.eq(2022)
& df["Event Description"].eq("Terminated")
& df["employee No"].isin(df.loc[cond1, "employee No"])
)
df[cond2]