Dataframe convert value in columns into colums name

Viewed 64

I would like to convert the name value in columns Name into Name columns and convert the rest value in one rows. I try to use Pivot, but is not working very well for my problem.

Do you have some idea ?

Input :

dict_value = {
'Name' : ['Pierre', 'Paul'],
'Age' : [10,20],
'City' : ['NY', 'PR']}

df = pd.DataFrame(dict_value)

enter image description here

Output :

enter image description here

2 Answers

You can use df.stack then flatten the MultiIndex. Then use .to_frame and transpose.

out = df.set_index('Name').stack()
out.index = out.index.map('.'.join)
out.to_frame().T

  Pierre.Age Pierre.City Paul.Age Paul.City
0         10          NY       20        PR
Related