📅  最后修改于: 2023-12-03 15:07:46.153000             🧑  作者: Mango
在 PySpark 中,可以使用 select
方法对 DataFrame 进行列选择。而对于选择满足条件的列,可以结合 when
和 otherwise
语句进行条件选择。以下是一个简单的示例:
from pyspark.sql.functions import when
# 创建一个 DataFrame
df = spark.createDataFrame([
(1, 'apple', 3.0, 0.5),
(2, 'banana', 2.5, 0.3),
(3, 'orange', 2.0, 0.2),
(4, 'grape', 3.5, 0.6)
], ['id', 'name', 'price', 'discount'])
# 选择一列
df.select('id').show()
# 选择多列
df.select('id', 'name').show()
# 根据条件选择列
df.select(
'id',
'name',
when(df['price'] > 3.0, 'high').otherwise('low').alias('price_tag'),
when(df['discount'] > 0.5, 'high').otherwise('low').alias('discount_tag')
).show()
在以上示例中,我们首先创建了一个 DataFrame,包含了商品的编号、名称、价格、折扣四列。接着使用 select
方法,可以选择一列或多列数据。最后,使用 when
和 otherwise
语句,对价格和折扣数据根据条件进行选择,并新创建了两列标签 price_tag
和 discount_tag
。运行上述代码输出结果如下:
+---+
| id|
+---+
| 1|
| 2|
| 3|
| 4|
+---+
+---+------+
| id| name|
+---+------+
| 1| apple|
| 2|banana|
| 3|orange|
| 4| grape|
+---+------+
+---+------+---------+-------------+
| id| name|price_tag|discount_tag |
+---+------+---------+-------------+
| 1| apple| high| low|
| 2|banana| low| low|
| 3|orange| low| low|
| 4| grape| high| high|
+---+------+---------+-------------+
以上就是在 PySpark 中选择满足条件的列的简单介绍。通过结合 when
和 otherwise
语句,可以轻松地对 DataFrame 中的列进行条件选择和标记。