我有两个pyspark dfs
df1具有列-a,b,c,d,e,f df2具有-c,d,e列(列名不断变化)
我想要一个基于df2列名称的df3数据帧。所以基本上我想要
根据df2中的列从df1中选择列(df2列不断变化)
在上述示例中,结果df应该具有-c,d,e列(从df1中提取)
我找不到任何可以实现此目标的方法。请帮忙
答案 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 |
+---+---+---+