Как я могу применить вложенную DataFrame Pyspark в качестве сопоставления с другим DataFrame?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу применить вложенную DataFrame Pyspark в качестве сопоставления с другим DataFrame?

Сообщение Anonymous »

У меня есть json, как это: < /p>

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

{"main":{"honda":1,"toyota":2,"BMW":5,"Fiat":4}}
< /code>
Я импортирует в pyspark, как это: < /p>
car_map = spark.read.json('s3_path/car_map.json')
Теперь у меня есть DataFrame:

дал существующий DataFrame:

.data = [(1, 'BMW'),
(2, 'Ford'),
(3, 'honda'),
(4, 'Cadillac'),
(5, 'Fiat')]

df = spark.createDataFrame(data, ["ID", "car"])

+---+--------+
| ID| car|
+---+--------+
| 1| BMW|
| 2| Ford|
| 3| honda|
| 4|Cadillac|
| 5| Fiat|
+---+--------+
< /code>
Как я могу применить отображение в car_map для df, создав новый столбец "x"? Например, если df.car находится в car_map.main, установите x на номер. Иначе, установите x до 99. < /p>
Результат должен быть похожим на SO: < /p>
+---+--------+---+
| ID| car| x|
+---+--------+---+
| 1| BMW| 5|
| 2| Ford| 99|
| 3| honda| 1|
| 4|Cadillac| 99|
| 5| Fiat| 4|
+---+--------+---+
< /code>
Если есть другие преобразования, чтобы это было проще, я открыт. Например, UDF, словарь, массив, взрыв и т. Д.

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

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

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

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

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

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

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