Я хочу преобразовать этот фрейм данных:
Name Address Town Central1 Central2 Central3 Central4
Jean blabla blabla2 1 2 3 NaN
James BLABLA BLABLA2 5 6 NaN 8
к этому кадру данных:
Name Address Town Central Code
Jean blabla blabla2 Central1 1
Jean blabla blabla2 Central2 2
Jean blabla blabla2 Central3 3
Jean blabla blabla2 Central4 NaN
James BLABLA BLABLA2 Central1 5
James BLABLA BLABLA2 Central2 6
James BLABLA BLABLA2 Central3 NaN
James BLABLA BLABLA2 Central4 8
Это своего рода стек, но я не хочу складывать весь фрейм данных.






Просто проверьте с melt
s = df.melt(['Name','Address','Town'],var_name = 'Central',value_name = 'Code')
s
Out[526]:
Name Address Town Central Code
0 Jean blabla blabla2 Central1 1.0
1 James BLABLA BLABLA2 Central1 5.0
2 Jean blabla blabla2 Central2 2.0
3 James BLABLA BLABLA2 Central2 6.0
4 Jean blabla blabla2 Central3 3.0
5 James BLABLA BLABLA2 Central3 NaN
6 Jean blabla blabla2 Central4 NaN
7 James BLABLA BLABLA2 Central4 8.0