我有一个带有两列“ col24”和“ col23”的表“ t”,我想创建一个数据框“ r”

时间:2019-04-11 09:51:48

标签: pyspark pyspark-sql

想象一个具有两列的表tcol24col18我想制作一个数据框'r'。这样,结果数据框将只有一列{ {1}}称为col24

我尝试了以下代码,但无法正常工作。但是我得到了不正确的帮助我解决

first_name

2 个答案:

答案 0 :(得分:1)

请在下面找到您想要的答案:

select(f.col("col24").alias("first_name"))

答案 1 :(得分:0)

import pyspark.sql.functions as f

如果我正确理解了您的问题,则这两个选项应该可以工作:

r = t.select('col24').f.withColumnRenamed('col24', 'first_name')

r = t.withColumnRenamed('col24', 'first_name').drop('col18')

例如,如果列表 my_cols 中有多个列,则第二个选项变为:

r = t.withColumnRenamed('col24', 'first_name').drop(*my_cols)

然后您可以检查数据框:

r.show()

或者如果t很大,只需检查列名:

r.columns