Pyspark новый столбец, если в противном случае возникает ошибка «должен быть столбец»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pyspark новый столбец, если в противном случае возникает ошибка «должен быть столбец»

Сообщение Anonymous »

У меня есть DataFrame в PySpark, и я хотел бы добавить новый столбец на основе значения в другом столбце. Я знаю, что это довольно распространенное явление, и я искал и пробовал множество разных способов, но всегда получал сообщение об ошибке TypeError: условие должно быть столбцом.
Итак, по сути, я хочу сделать следующее: если значение в одном столбце не равно нулю, я выполню регулярное выражение для этого столбца, в противном случае я выполню регулярное выражение для другого столбца.
Мой первоначальный запрос выглядел так:

Код: Выделить всё

import pyspark.sql.functions as F

df.withColumn("new_column", F.when(F.col("column_a").isNotNull,
F.regexp_extract('column_a', 'myregex', 1))
.otherwise(F.regexp_extract('column_b', 'myotherregex', 1)))
Это привело к указанной ошибке. Поскольку я упрощал поиск ошибки, мне так и не удалось заставить ее работать. Таким образом, даже этот упрощенный пример завершается той же ошибкой:

Код: Выделить всё

df.withColumn("new_column", F.when(F.col("column_a").isNotNull, F.lit("A"))
.otherwise(F.lit("B")))
Я также пытался сослаться на columns_a следующим образом, но безуспешно: df["column_a"]
Когда я ищу и нахожу примеры людей, делающих то же самое, на мой неопытный взгляд кажется, что это должно сработать. Что мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/747 ... lumn-error
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»