I have a df:
import pandas as pd
data = {"id":[1,1,1],
"question": ["What is your name", "What is your age", "Where do you live"],
"answer": ["Eric", "50", "Sweden"]}
df = pd.DataFrame(data)
# id question answer
# 1 What is your name Eric
# 1 What is your age 50
# 1 Where do you live Sweden
I want one row per id, with each question and answer as columns:
# id question1 answer1 question2 answer2 question3 answer3
# 1 "What is your name" "Eric" "What is your age" 50 "Where do you live" "Sweden"
I've tried different combinations of pivot but I cant get it right
piv = df.pivot(index="id",columns="question").reset_index()
piv.columns = piv.columns.droplevel(1)
# id answer answer answer
# 1 50 Eric Sweden