Идентификатор
месяца
A
1
А
2
А
3
A
4
< /tr>
B
2
B
3
C
3
D
4
D
5
E
5
E
6
F
< td>6
G
1
G
2
H
1
H
2
H
3
H
4
H
5
< td>H
6
Я пытаюсь выбрать «идентификаторы», которые перестанут появляться в следующем месяце, исключая при этом все идентификаторы, которые появятся в прошлом месяце (в данном случае в шестом месяце).
Например, новый фрейм данных будет выглядеть так: :
< th>ID
месяца
A
1
A
2
A
3
A
4
B
2
B
3
C
< td>3
D
4
D
5
G
1
G
2
id ' E' был исключен, поскольку он появлялся в 5 и 6 месяцах, идентификатор "F" был исключен, поскольку он появлялся только в последнем месяце, а идентификатор "H" был исключен, поскольку он появлялся во всех месяцах.
Возможное решение:
Я управляю возможным решением, просматривая каждую запись каждого идентификатора и проверяя, отличался ли их последний месяц от последнего месяца в столбце «месяц», поэтому у меня есть:
Код: Выделить всё
last_month = df['month'].max()
for id_group in df.groupby('id'):
id_name, group_df = id_group
if group_df['month'].iloc[-1] != last_month:
df_new = pd.concat([new_df, group_df], ignore_index=True)
Подробнее здесь: https://stackoverflow.com/questions/791 ... ing-months
Мобильная версия