Pyspark: создание фрейма данных pyspark на основе имен столбцов из другого фрейма данных pyspark - PullRequest
0 голосов
/ 02 августа 2020

У меня есть два pyspark dfs

df1 имеет столбцы - a, b, c, d, e, f df2 имеет столбцы - c, d, e (имена столбцов постоянно меняются динамически)

Мне нужен фрейм данных df3, который извлекается из df1 на основе имен столбцов из df2. Итак, в основном я хочу

выбирать столбцы из df1 на основе столбцов в df2 (столбцы df2 продолжают меняться)

В приведенном выше примере результат df должен иметь столбцы - c, d, e (извлеченный из df1)

Я не могу найти никакого метода, который мог бы этого добиться. Пожалуйста, помогите

1 Ответ

1 голос
/ 02 августа 2020

Вы можете получить столбцы по df2.columns второго фрейма данных и просто выбрать эти столбцы из первого фрейма данных.

df1 = spark.read.option("header","true").option("inferSchema","true").csv("test.csv")
df2 = spark.read.option("header","true").option("inferSchema","true").csv("test2.csv")

df3 = df1.select(df2.columns)
df3.show(10, False)

+---+---+---+
|c  |d  |e  |
+---+---+---+
|3  |4  |5  |
+---+---+---+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...