pyspark 替换
时间: 2023-07-29 20:07:01 浏览: 97
在PySpark中,你可以使用`withColumn`函数来替换DataFrame中的某一列的值。下面是一个示例:
```python
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, when
# 创建SparkSession
spark = SparkSession.builder.getOrCreate()
# 创建示例DataFrame
data = [("Alice", 25),
("Bob", 30),
("Charlie", 35)]
df = spark.createDataFrame(data, ["name", "age"])
# 替换值
df = df.withColumn("age", when(col("age") > 30, 0).otherwise(col("age")))
# 显示结果
df.show()
```
输出结果如下:
```
+-------+---+
| name|age|
+-------+---+
| Alice| 25|
| Bob| 30|
|Charlie| 0|
+-------+---+
```
在示例中,我们使用`when`函数和`otherwise`函数来进行条件替换。如果"age"列的值大于30,我们将其替换为0,否则保持不变。使用`withColumn`函数将新的列添加到DataFrame中,并覆盖原有的"age"列。最后,使用`show`方法展示结果。
除了使用`when`和`otherwise`函数,你还可以使用其他的条件函数,例如`case()`函数来进行复杂的条件替换操作。
阅读全文