Использование concat для объединения двух фреймов данных groupby - PullRequest
0 голосов
/ 09 июля 2020

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

Все работает нормально, и я получаю все результаты. Но когда я пытаюсь объединить их все вместе, чтобы создать входной файл df. Он смешивает вещи.

Это лог c, который я пытаюсь реализовать.

  1. Определить строки, которые не были классифицированы,
  2. Сгруппировать их по текст ИЛИ значение
  3. Удалите все группы с менее чем 5 строками в сумме и любые строки со значением менее 100,
  4. Отметьте все строки в оставшихся группах как «Молодец».

Я выполнил все шаги, но когда я пытаюсь их объединить, я продолжаю получать объединенный результат из входного 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...