我试图根据ID和年份标记行,如果ID出现在年份[201720182019]中,而在[2020202022]中出现not appeared,则需要将其标记为1或0.
df1 = pd.DataFrame({'ID': ['AX1', 'Ax1', 'AX1','AX1','AX1','AX1','AX2','AX2','AX2','AX3','AX3','AX4','AX4','AX4'],'year':[2017,2018,2019,2020,2021,2022,2019,2020,2022,2019,2020,2017,2018,2019]})
ID year
0 AX1 2017
1 Ax1 2018
2 AX1 2019
3 AX1 2020
4 AX1 2021
5 AX1 2022
6 AX2 2019
7 AX2 2020
8 AX2 2022
9 AX3 2019
10 AX3 2020
11 AX4 2017
12 AX4 2018
13 AX4 2019
预期输出:
ID year label
0 AX1 2017 0
1 Ax1 2018 0
2 AX1 2019 0
3 AX1 2020 0
4 AX1 2021 0
5 AX1 2022 0
6 AX2 2019 0
7 AX2 2020 0
8 AX2 2022 0
9 AX3 2019 0
10 AX3 2020 0
11 AX4 2017 1
12 AX4 2018 1
13 AX4 2019 1
在上述示例中,ID:AX4标记为1,因为它是第一组年份(201720182019)中出现的唯一ID,第二组年份(2020202022)中出现的唯一ID.
我如何做到这一点?