Convert Pandas.The series obtained as a result of grouping, in Pandas. DataFrame

I have a question when working with a table in Pandas. I get everything below

        #достали из базы данных табличку
        path = os.path.dirname(os.path.abspath(__file__))
        db = os.path.join(path, 'diacompanion.db')
        con = sqlite3.connect(db)
        cur = con.cursor()
        cur.execute('''SELECT week_day,date,time,type,food,libra FROM favourites
                    WHERE user_id = ?''', (session['user_id'],))
        L = cur.fetchall()
        con.close()

        # сделали из нее DataFrame
        s = pd.DataFrame(L, columns=['День недели', 'Дата', 'Время','Тип',
                                     'Избранное', 'Вес'])
        s = s.groupby(['День недели','Дата','Тип','Время'])['Избранное'].apply(lambda tags: ', '.join(tags))

        # записали в excel файл
        writer = pd.ExcelWriter('app\\%s.xlsx' % session["username"], engine='xlsxwriter') 
        s.to_excel(writer, 'Sheet1')
        writer.save()                 

The resulting Series:

День недели  Дата        Тип      Время          **здесь почему-то ПРОПАЛА надпись Избранное**
Воскресенье  12-04-2020  Перекус  17:57                                Соус белый с рассолом
Вторник      07-04-2020  Перекус  17:57           Капуста, тушенная с яблоками, Рис отварной
Понедельник  06-04-2020  Завтрак  17:46                              Бобовые (горох) в соусе
                         Обед     17:46                          Макароны отварные с овощами
                         Перекус  17:41                                  Лапшевик с творогом
                                  17:46                                         Карп жареный
Пятница      10-04-2020  Перекус  17:57                                     Тесто для оладий
Среда        08-04-2020  Перекус  17:57                                   Картофель в молоке
Суббота      11-04-2020  Завтрак  18:06                  Горох отварной с копченой грудинкой
                         Обед     18:06           Зубатка отварная (непластованная, кусками)
                         Перекус  17:57    Тесто дрожжевое для пирожков жареных сдобных и...
Четверг      09-04-2020  Обед     14:55                    Бобовые (горох) в соусе со шпиком
                         Перекус  15:17                              Бобовые (горох) в соусе
                                  17:36     Вина сладкие белые и красные (в т.ч. шампанское)
                         Ужин     17:39                                             Антрекот

And I want it to be something like this, but I don't have the skills to Google how to implement this

День недели  Дата        Тип      Время   Блюдо                 Вес         Блюдо        Вес
Понедельник  12-04-2020  Перекус  17:57   Соус белый с рассолом 200
Вторник      07-04-2020  Перекус  17:57   Капуста тушенная      200         Рис отварной 50
Среда        06-04-2020  Завтрак  17:46   Бобовые (горох)       200
                         Обед     17:46   Макароны отварные     70
                         Перекус  17:41   Лапшевик с творогом   110
                                  17:46   Карп жареный          240

Well, or this version of the frame will also do

День недели  Дата        Тип      Время   Избранное
Понедельник  12-04-2020  Перекус  17:57   Соус белый с рассолом - 200
Вторник      07-04-2020  Перекус  17:57   Капуста тушенная - 200, Рис отварной - 50
Среда        06-04-2020  Завтрак  17:46   Бобовые (горох) - 200
                         Обед     17:46   Макароны отварные - 70
                         Перекус  17:41   Лапшевик с творогом - 110
                                  17:46   Карп жареный - 240

enter a description of the image here enter a description of the image here UPD: I tried to do as in the answer to the question enter a description of the image here

Author: Artem, 2020-04-09

1 answers

You can turn a Series into a DataFrame:

s = s.to_frame(name="Избранное")

UPD:

df = pd.read_sql(sql, conn, params=(2, ))

df.columns = columns=['День недели', 'Дата', 'Время','Тип', 'Избранное', 'Вес']

res = (df
       .groupby(['День недели','Дата','Тип','Время'])
       ['Избранное']
       .apply(', '.join)
       .to_frame(name='Избранное'))

Result:

In [75]: res
Out[75]:
                                                                    Избранное
День недели Дата       Тип     Время
Воскресенье 12-04-2020 Перекус 17:57                    Соус белый с рассолом
Вторник     07-04-2020 Перекус 17:57  Капуста, тушенная с яблоками, Рис от...
Понедельник 06-04-2020 Завтрак 17:46                  Бобовые (горох) в соусе
                       Обед    17:46              Макароны отварные с овощами
                       Перекус 17:41                      Лапшевик с творогом
                               17:46                             Карп жареный
Пятница     10-04-2020 Перекус 17:57                         Тесто для оладий
Среда       08-04-2020 Перекус 17:57                       Картофель в молоке
Суббота     11-04-2020 Завтрак 18:06      Горох отварной с копченой грудинкой
                       Обед    18:06  Зубатка отварная (непластованная, ку...
                       Перекус 17:57  Тесто дрожжевое для пирожков жареных...
Четверг     09-04-2020 Обед    14:55        Бобовые (горох) в соусе со шпиком
                       Перекус 15:17                  Бобовые (горох) в соусе
                               17:36  Вина сладкие белые и красные (в т.ч....
                       Ужин    17:39                                 Антрекот
            16-04-2020 Обед    15:34                                   Ничего
 1
Author: MaxU, 2020-04-09 18:07:25