Как заголовок превратить в столбец?

Есть несколько таблиц друг под другом, в каждой многоуровневый заголовок, в верхнем уровне указано название филиала. Как можно из каждой таблицы вытянуть это название и добавить столбец с названием филиала?

   Код товара  Наименование товаров  Ед.  Вес(кг)  Филиал 1 Unnamed: 5
0         NaN                   NaN  NaN      NaN   Продажи    Остатки
1           1               Товар 1   шт    0,327       100        200
2           2               Товар 2   шт    0,328       309      71.43
3         NaN                   NaN  NaN      NaN       NaN        NaN
4  Код товара  Наименование товаров  Ед.  Вес(кг)  Филиал 2        NaN
5         NaN                   NaN  NaN      NaN   Продажи    Остатки
6           1               Товар 1   шт    0,327       300        400
7           2               Товар 2   шт    0,328        75         90

Вот так должно быть в готовом виде:

Код товара  Ед. Вес    Продажи  Остатки Филиал
1           шт  0,327  100      200     Филиал 1
2           шт  0,328  309      71      Филиал 1
1           шт  0,327  300      400     Филиал 2
2           шт  0,328  75       90      Филиал 2

Ответы (1 шт):

Автор решения: Алексей Р
df = pd.read_excel(r'c:\test\Товары.xlsx', header=None)  # важно - прочесть без заголовков
df['Филиал'] = df[4].where(df[4].str.startswith('Филиал'), None).ffill()  # делаем столбец с названиями филиалов путем замены всех значений, не начинающихся на "Филиал", на None, с последующим их заполнением
df.columns = list(df.iloc[0, :4]) + ['Продажи', 'Остатки', 'Филиал']  # формируем названия столбцов
df = df[~df['Код товара'].eq('Код товара') & ~df['Код товара'].isna()].reset_index(drop=True)  # удаляем заголовки и пустые строки из "тела" фрейма и переиндексируем
print(df)
  Код товара  Наименование товаров  Ед. Вес(кг) Продажи     Остатки    Филиал
0          1               Товар 1   шт   0.327     100         200  Филиал 1
1          2               Товар 2   шт   0.328     309       71.43  Филиал 1
2          1               Товар 1   шт   0.327     300         400  Филиал 2
3          2               Товар 2   шт   0.328      75          90  Филиал 2
→ Ссылка