Pyspark:根据其他pyspark数据框的列名创建pyspark数据框

时间:2020-08-02 05:24:46

标签: pyspark

我有两个pyspark dfs

df1具有列-a,b,c,d,e,f df2具有-c,d,e列(列名不断变化)

我想要一个基于df2列名称的df3数据帧。所以基本上我想要

根据df2中的列从df1中选择列(df2列不断变化)

在上述示例中,结果df应该具有-c,d,e列(从df1中提取)

我找不到任何可以实现此目标的方法。请帮忙

1 个答案:

答案 0 :(得分:1)

您可以通过第二个数据帧的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  |
+---+---+---+