📅  最后修改于: 2023-12-03 15:12:21.490000             🧑  作者: Mango
在 PySpark 中,数据框(DataFrame)是一种很方便的数据结构,它类似于关系型数据库中的表格。数据框可以用于存储和处理大型数据集,它支持很多数据操作和转换,比如筛选、聚合、排序、连接等等。
当我们需要从一个数据框中选择特定的列时,可以使用 PySpark 的 select()
方法。这个方法可以接收一个或多个列名作为参数,返回一个新的数据框,它只包含了指定的列。下面是一个示例:
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("SelectExample").getOrCreate()
df = spark.read.json("data/people.json")
df.show()
selected_df = df.select("name", "age")
selected_df.show()
在上面的代码中,我们首先创建了一个 SparkSession 对象,然后使用该对象的 read()
方法从一个 JSON 文件中读取数据,生成了一个数据框 df
。接着使用 show()
方法打印出了 df
的内容,以便我们查看。
接下来,我们调用 df.select("name", "age")
方法,选择了 name
和 age
两列,将结果存储在 selected_df
变量中。最后,我们再次使用 show()
方法打印出了 selected_df
的内容,可以看到这个数据框只包含了选定的两列。
如果我们想选择某一列并知道它的位置,可以使用 col()
方法和 alias()
方法。col()
方法接收一个列名作为参数,返回一个 Column 对象,表示指定的列。而 alias()
方法可以给指定的列重命名,返回一个新的 Column 对象。下面是一个示例:
from pyspark.sql.functions import col
selected_df = df.select(col("_c0").alias("id"))
selected_df.show()
在上面的代码中,我们使用了 col("_c0")
方法来选择第一列,并使用 alias()
方法将其重命名为 id
列。注意要导入 col()
函数。
这样我们就可以选择 PySpark 数据框的特定列及其位置了。在实际应用中,我们可能需要根据数据的实际情况选择合适的列进行操作,或者根据业务需求对列进行重命名。