Я отфильтровал свой входной фрейм данных, а затем разделил его на две групповые функции. Первая группа будет сортировать их по значению, а вторая - по описанию.
Все работает нормально, и я получаю все результаты. Но когда я пытаюсь объединить их все вместе, чтобы создать входной файл df. Он смешивает вещи.
Это лог c, который я пытаюсь реализовать.
- Определить строки, которые не были классифицированы,
- Сгруппировать их по текст ИЛИ значение
- Удалите все группы с менее чем 5 строками в сумме и любые строки со значением менее 100,
- Отметьте все строки в оставшихся группах как «Молодец».
Я выполнил все шаги, но когда я пытаюсь их объединить, я продолжаю получать объединенный результат из входного df. Например, я отметил это в группе по значению. Но как только я их объединяю, он сохраняет тот, который не был отмечен.
def White(input_df):
input_df['LastDate'] = input_df['Date'].astype('datetime64[ns]').max()
input_df['Date']= input_df['Date'].astype('datetime64[ns]')
input_df.sort_values("Date", inplace = True)
filter1 = input_df['Sam_house'] == 'Nan'
filter2 = input_df['value'] <= -100
input_df1 = input_df[filter1 & filter2]
Group_by_value= input_df1.sort_values(by='Date').groupby(['Num','value'])\
.filter(lambda x: x['value'].count() > 5).groupby(['Num','value']).apply(func=main)
Group_by_Text= input_df1.sort_values(by='Date').groupby(['Num', 'text'])\
.filter(lambda x: x['text'].count() > 5).groupby(['Num', 'text']).apply(func=main)
combined_df = pd.concat([Group_by_value, Group_by_Text])
result = combined_df.drop_duplicates(subset = ["ID"])
return result