📅  最后修改于: 2023-12-03 15:18:51.345000             🧑  作者: Mango
在 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,其中包含两列 name
和 age
,如下所示:
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|
+-------+
如果我们想选择 name
和 age
两列,可以使用以下代码:
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 中一个常用的函数,可以作为选择列和对列进行转换或操作的工具。在使用时,需要先导入该函数,然后使用字符串形式的列名作为参数传入即可。