Pandas 中的条件转置

Conditional Transpose in Pandas

我想在这种情况下转置列。

df = pd.DataFrame({"Product" : ["A", "A", "A", "B", "B", "B", "C", "C", "C"],
              "Question" : ["What", "When", "Where", "What", "When", "Where", "What", "When", "Where"],
              "Answer" : ["Car", "Friday", "German", "Bike", "Wednesday", "France", "Train", "Sunday", "America"]})

任何人都可以针对这种情况提出有效的解决方案吗?

使用pivot:

out = df.pivot('Product', 'Question', 'Answer') \
        .reset_index().rename_axis(columns=None)
print(out)

# Output
  Product   What       When    Where
0       A    Car     Friday   German
1       B   Bike  Wednesday   France
2       C  Train     Sunday  America

勾选