📜  pyspark import col (1)

📅  最后修改于: 2023-12-03 15:18:51.345000             🧑  作者: Mango

PySpark 中的 col 函数介绍

简介

在 PySpark 中,col 是一个用于选择列数据的函数。它接收一个字符串作为输入,表示要选择的列的名称,然后返回一个 Column 对象。这个对象可以用于进一步的转换或操作操作。

用法

在 PySpark 中,要使用 col 函数,需要先导入它:

from pyspark.sql.functions import col

然后,可以这样使用它:

df.select(col("column_name"))

其中,column_name 是要选择的列的名称。如果要选择多个列,可以这样做:

df.select(col("column_1"), col("column_2"))

还可以在选择的列上进行转换和运算:

df.select(col("column_name") + 1)
示例

以下是一个使用 col 函数的示例。假设我们有一个 DataFrame,其中包含两列 nameage,如下所示:

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("col_demo").getOrCreate()

data = [("Alice", 25), ("Bob", 30), ("Charlie", 35)]
df = spark.createDataFrame(data, ["name", "age"])
df.show()

输出如下:

+-------+---+
|   name|age|
+-------+---+
|  Alice| 25|
|    Bob| 30|
|Charlie| 35|
+-------+---+

现在,如果我们想选择 name 列,可以使用以下代码:

df.select(col("name")).show()

输出如下:

+-------+
|   name|
+-------+
|  Alice|
|    Bob|
|Charlie|
+-------+

如果我们想选择 nameage 两列,可以使用以下代码:

df.select(col("name"), col("age")).show()

输出如下:

+-------+---+
|   name|age|
+-------+---+
|  Alice| 25|
|    Bob| 30|
|Charlie| 35|
+-------+---+

还可以对选择的列进行一些操作。例如,我们可以将 age 列加上 1,然后选择结果:

df.select(col("name"), col("age") + 1).show()

输出如下:

+-------+--------+
|   name|(age + 1)|
+-------+--------+
|  Alice|      26|
|    Bob|      31|
|Charlie|      36|
+-------+--------+
总结

col 函数是 PySpark 中一个常用的函数,可以作为选择列和对列进行转换或操作的工具。在使用时,需要先导入该函数,然后使用字符串形式的列名作为参数传入即可。