Не удается получить все столбцы при использовании group by в Pandas df
controller.py
def consolidated_universities_data_by_country(countries,universities):
cursor = connection.cursor()
query = None
if countries == str(1):
query = f"""
@sql_query@
"""
result_data=cursor.execute(query)
result=dict_fetchall_rows(result_data)
consolidated_df_USA=pd.DataFrame(result).fillna('NULL').replace( {True : 1, False : 0}).groupby('CourseId')['ApplicationDeadline'].apply(', '.join).reset_index()
return consolidated_df_USA
С помощью указанного кода я могу получить желаемый результат, т.е. я хотел объединить n строк deadline в одну строку для данного courseid, но я не могу получить остальные столбцы.
consolidated_df_USA=pd.DataFrame(result).fillna('NULL').replace( {True : 1, False : 0}).groupby('CourseId')['ApplicationDeadline','CourseName'].agg(', '.join).reset_index()
return consolidated_df_USA
С помощью этого я могу получить некоторые столбцы, но некоторые столбцы удаляются. Также я получаю следующее предупреждение.
Предупреждение: Отбрасывание недействительных столбцов в SeriesGroupBy.agg устарело. В будущей версии будет выдаваться ошибка TypeError. Перед вызовом .agg выберите только столбцы, которые должны быть действительными для агрегирующей функции.
Как получить все столбцы, заданные sql-запросом?