PySpark: как обработать "else" в цепочке if в dataframe? - PullRequest
1 голос
/ 27 февраля 2020

У меня есть код PySpark, который определяет условия в кадре данных (это упрощает создание минимального рабочего примера):

return df.select(
    ((df.x[0] == 0) & (df.x[1] == 0)).alias("HR_%s" % label),
    (((df.x[0] == 0) & (df.x[1] > 0)) |
    ((df.x[1] == 0) & (df.x[0] > 0))).alias("HET_%s" % label),

Я понимаю, что делает этот код, но мне нужно кое-что добавить к перехватить исключение, например, когда df.x имеет только 1 элемент, а df.x [1] не определен (например), все условия не будут выполнены, но как я могу это сделать в PySpark?

1 Ответ

1 голос
/ 27 февраля 2020

Если вам нужно условие «else» без истинной обработки «ошибки» (то есть исключения), посмотрите на pyspark. sql .Column.otherwise .

Если вы хотите попробовать обработать ошибку (т.е. исключение), тогда вам нужно будет обернуть эту try ... catch logi c как пользовательскую функцию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...