FPGrowth使用的Pyspark数据帧格式->输入列必须是数组,但是得到了bigint

问题描述

在尝试将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|
+------------------+---+---+---+---+---+---+---+---+---+---+

是否可以将其转换/转换为所需的数组Type列?

非常感谢

编辑: 我要达到的目标是这样的:

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)