У меня есть фрейм данных со схемой, подобной этой:
|-- 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: вы "не можете разрешить" (gs
. g
. calls
[0] = 0) "из-за несоответствия типов данных: различные типы в '(gs
. g
. calls
[0] = 0) '(array and int)
почему это не работает как простой python
some_list[3] == 4
, который является массивом [int] и int?
Как мне сравнить эти целые числа?