Выбор идентификатора, который не появится в ближайшие месяцыPython

Программы на Python
Ответить
Anonymous
 Выбор идентификатора, который не появится в ближайшие месяцы

Сообщение Anonymous »

У меня возникла проблема: я хочу выбрать идентификаторы, которые перестанут появляться в последующие месяцы. У меня есть фрейм данных, например:



Идентификатор
месяца




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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»