0

在尝试将 XLSX 中的数据转换为 FPGrowth 的正确格式时,我在运行时遇到以下错误消息model = fpGrowth.fit(pivotDF)

IllegalArgumentException: requirement failed: The input column must be array, but got bigint.

我从 XLSX 文件中取出数据并将其读入 Pandas DataFrame,然后将其转换为 Spark Dataframe,进行一些清理和旋转以获得所需的表。

pivotDF.printSchema() 显示了这一点:

 |-- SalesTransactionID: long (nullable = true)
 |-- 0: long (nullable = true)
 |-- 1: long (nullable = true)
 |-- 2: long (nullable = true)
 |-- 3: long (nullable = true)
 |-- 4: long (nullable = true)
 |-- 5: long (nullable = true)
 |-- 6: long (nullable = true)
.... 

我的数据(pivotDF)如下所示:

+------------------+---+---+---+---+---+---+---+---+---+---+
|SalesTransactionID|  0|  1|  2|  3|  4|  5|  6|  7|  8|  9|
+------------------+---+---+---+---+---+---+---+---+---+---+
|                 0|  0|  0|  0|  0|  0|  0|  0|  6|  6|  0|
|                 1|  0|  0|  0|  0|  0|  0|  0|  0|  3|  0|
|                 2|  0|  0|  0|  0|  0|  0|  2|  0|  0|  0|
|                 3|  0|  0|  0|  0|  0|  0|  0|  0|  0|  0|
|                 4|  0|  0|  0|  0|  0|  0|  0|  0|  0|  0|
+------------------+---+---+---+---+---+---+---+---+---+---+

有没有办法将它转换/转换为所需的数组类型列?

提前谢谢了

编辑:我的目标是这样的:

([(0, [7, 8]),
  (1, [8]), 
  (2, [6])], 
["id", "items"])
4

0 回答 0