如何比较PySpark数据框数组中的整数元素

时间:2018-12-11 16:25:49

标签: python apache-spark pyspark

我有一个数据框架,其格式如下:

|-- gs: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- g: struct (nullable = true)
| | | |-- calls: array (nullable = true)
| | | | |-- element: integer (containsNull = true)

此架构中的最后一行是一个数组/列表,其中应始终有2个整数,通常都为0。

我将此输入到函数中,在这里我比较数组:

((df.gs.g.calls[0] == 0) & (df.gs.g.calls[1] > 0))

应该像

一样简单

但这会产生奇怪的错误:

  

AnalysisException:u”由于数据类型不匹配而无法解析'(gsgcalls [0] = 0)':'({{1} }。gsg [0] = 0)'(数组和整数)

为什么它不能像简单的python一样工作

calls

哪个是array [int]和int?

如何比较这些整数?

0 个答案:

没有答案