我有一个数据框,其中typecol
列的值为22
和33
。
然后我使用以下代码制作数据透视表:
var result = df
.groupBy(col("product_id"))
.pivot("typecol")
.agg(count("*"))
.na.fill(0)
.withColumnRenamed("22", "A_type")
.withColumnRenamed("33", "B_type")
但是,如果22
中不存在值33
或df
,则不会创建列A_type
和B_type
。如何使用值0
创建它们?
答案 0 :(得分:2)
您可以在const acceptableItems = test.filter(filename => {
// keep the item in the array if it includes png
return filename.includes('png') ...
// OR. remove it from the new array if it includes png
return !filename.includes('png')
})
中组合您想要无条件地与其最终列名称一起旋转的列,并使用Map
遍历地图以相应地重命名和归零,如下所示:
foldLeft