pyspark dataframe format for fpgrowth use->输入列必须是array,但得到bigint

gjmwrych  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(385)

在尝试将xlsx中的数据转换为fpgrowth的正确格式时,我在运行时会遇到以下错误消息 model = fpGrowth.fit(pivotDF) : IllegalArgumentException: requirement failed: The input column must be array, but got bigint. 我从xlsx文件中取出数据,读入pandasDataframe,然后将其转换为sparkDataframe,进行一些清理和旋转以获得所需的表。 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"])

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题