使用从单个列中的唯一值派生的新列创建数据框

Create dataframe with new columns derived from unique values in a single column

我有一个格式如下的数据框:

id fieldname fieldvalue
1 PC Dell
1 Phone Pixel 6
2 PC Lenovo
3 Phone Samsung

我想将其转换为:

id PC Phone
1 Dell Pixel6
2 Lenovo
3 Samsung

换句话说,为列 fieldname 中的每个不同值创建一列,并用 fieldvalue.[=12 中的相应值填充它=]

我将如何在 pyspark 中执行此操作?

这是一个行到列的问题应该使用pivot

df = df.groupBy('id').pivot('fieldname').agg(F.first('fieldvalue'))