我正在尝试在pyspark中透视一个简单的数据框,并且我必须缺少一些东西。我有以下形式的数据框df:
+----+----+
|Item| Key|
+----+----+
| 1| A|
+----+----+
| 2| A|
+----+----+
我尝试将其围绕诸如
这样的商品df.groupBy("Item").\
pivot("Item", ["1","2"]).\
agg(first("Key"))
我收到:
+----+----+----+
|Item| 1| 2|
+----+----+----+
| 1| A|null|
+----+----+----+
| 2|null| A|
+----+----+----+
但是我想要的是:
+----+----+
| 1| 2|
+----+----+
| A| A|
+----+----+
我如何防止Item列保留在我的输出数据透视表中,我认为这会弄乱我的结果吗?我正在运行Spark 2.3.2和Python 3.7.0
答案 0 :(得分:1)
尝试不定义汇总列
>>> df.show()
+----+---+
|Item|Key|
+----+---+
| 1| A|
| 2| A|
+----+---+
>>> df.groupBy().pivot("Item", ["1","2"]).agg(first("Key")).show()
+---+---+
| 1| 2|
+---+---+
| A| A|
+---+---+