Я попробовал
Шаг 1 - Создание фрейма данных
data = pd.DataFrame([{"Name":"Vehicle", "item":"Car", "Wk1 price":978, "Wk2 price":966, "Wk1 units":100, "Wk2 units":120}])
Шаг 2 - Слияние фрейма данных и разделение «Метрик» и «Значений»
data = data.melt(id_vars = ['Name', 'item'])
data["Week"] = [re.findall("[AaZz]*.*?(?=\s)",x)[0] for x in data["variable"]]
data["Metric"] = [re.findall("\s([AaZz]*.*)",x)[0] for x in data["variable"]]
data = data.drop(["variable"],axis=1)
Шаг 3 - Поворот фрейма данных
data.pivot_table(index=["Name","item","Week"], columns="Metric", values="value").reset_index()