Проверьте, присутствует ли элемент в StructType в Spark DataFrame.Python

Программы на Python
Ответить
Anonymous
 Проверьте, присутствует ли элемент в StructType в Spark DataFrame.

Сообщение Anonymous »

У меня есть в Python кадр данных Spark с вложенными столбцами, и у меня есть путь abc, и я хочу проверить, есть ли вложенный столбец после c, называемый d, поэтому существует ли a.b.c.d.

Просто проверка df.columns['a']['b']['c']['d'] или df.columns['a.b.c.d'], похоже, не работают, поэтому я обнаружил, что можно использовать функцию df.schema.
Поэтому я просто перебираю, например:

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

y = df.schema['a'].dataType['b'].dataType['c'].dataType
а затем обычно проверяется, находится ли d в y.

Я просто попробовал y['d'], и если не получится, то его не существует.
Но я не думаю, что использование try — лучший способ.

Поэтому я попробовал проверить if 'd' в y, но, видимо, это не работает, хотя извлечение элемента y['d'] работает, если он существует.

Тип y — StructType(List(StructField(d,StringType,true),...other columns))

Поэтому я действительно не знаю, как правильно проверить, находится ли d в y. Почему я не могу напрямую проверить, есть ли «d» в y, когда я могу получить y['d']? Кто-нибудь может помочь? Я тоже новичок в Python, но не могу найти или придумать другое решение.

Подробнее здесь: https://stackoverflow.com/questions/406 ... -dataframe
Ответить

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

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

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

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

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