1 сделать датафрейм со колонками ТГПлан,1, 2, 3,4,5
2 в цикле с (1,2,3,4,5) пройтись по выбранным парам столбцов - [тг,1]..[тг,5] и строки из них добавлять в новый список
столбец план пустой ? если он пустой то нужно просто пустой элемент добавлять к строке
arr1 =
[['ТГПлан', 1, 2, 3, 4, 5],
['TB ресиверы и аксессуары к ТВ СТМ', 1.0, 1.0, 1.0, 3.53, 2.88],
['UPS и аксессуары Ippon', 1.0, 1.0, 1.0, 1.58, 1.5],
['Автомобильная эл и Аксессуары СТМ', 1.0, 1.0, 1.0, 1.99, 1.72],
['Аксессуары для компьютеров СТМ', 1.0, 1.0, 1.0, 1.19, 1.28]]
p1 = pandas.DataFrame.from_records(arr1, columns=['tg',1,2,3,4,5])[1:]
out = []
for i in (1,2,3,4,5):
for index,row in p1[['tg',i]].iterrows():
out += [[i,row['tg'],row[i]]]
pprint.pprint(out)
[[1, 'TB ресиверы и аксессуары к ТВ СТМ', 1.0],
[1, 'UPS и аксессуары Ippon', 1.0],
[1, 'Автомобильная эл и Аксессуары СТМ', 1.0],
[1, 'Аксессуары для компьютеров СТМ', 1.0],
[2, 'TB ресиверы и аксессуары к ТВ СТМ', 1.0],
[2, 'UPS и аксессуары Ippon', 1.0],
[2, 'Автомобильная эл и Аксессуары СТМ', 1.0],
[2, 'Аксессуары для компьютеров СТМ', 1.0],
[3, 'TB ресиверы и аксессуары к ТВ СТМ', 1.0],
[3, 'UPS и аксессуары Ippon', 1.0],
[3, 'Автомобильная эл и Аксессуары СТМ', 1.0],
.......