【问题标题】:Pyspark: Create a pyspark dataframe based on columns names from other pyspark dataframePyspark:根据来自其他 pyspark 数据框的列名创建一个 pyspark 数据框
【发布时间】:2020-11-22 12:44:46
【问题描述】:

我有两个 pyspark dfs

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

我想要一个 df3 数据帧,它根据 df2 中的列名从 df1 中提取。所以基本上我想要

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

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

我找不到任何可以实现这一点的方法。请帮忙

【问题讨论】:

  • 如果我的回答对您有帮助,请将其标记为答案。 :)

标签: pyspark


【解决方案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  |
+---+---+---+

【讨论】:

  • 非常感谢。这就是我一直在寻找的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-21
  • 2023-03-31
相关资源
最近更新 更多