📅  最后修改于: 2023-12-03 15:21:53.527000             🧑  作者: Mango
在 PySpark DataFrame 中删除一列或多列通常是数据预处理的常见任务。本文将向程序员介绍如何从 PySpark DataFrame 中删除列。
我们可以使用 DataFrame.drop()
方法删除一个列。下面的示例删除名为 age
的列:
from pyspark.sql.functions import col
# 创建 DataFrame
data = [("Alice", 25), ("Bob", 30), ("Charlie", 35)]
df = spark.createDataFrame(data, ["name", "age"])
# 删除列
df = df.drop("age")
df.show()
以上代码将输出如下结果:
+-------+
| name|
+-------+
| Alice|
| Bob|
|Charlie|
+-------+
我们可以在 drop()
方法中传递多个列名。下面的示例删除名为 age
和 name
的列:
from pyspark.sql.functions import col
# 创建 DataFrame
data = [("Alice", 25), ("Bob", 30), ("Charlie", 35)]
df = spark.createDataFrame(data, ["name", "age"])
# 删除列
df = df.drop("age", "name")
df.show()
以上代码将输出如下结果:
++
||
++
++
++
在某些情况下,我们可能想要将一列重命名为另一个名称。我们可以使用 DataFrame.withColumnRenamed()
方法来实现这一点。下面的示例将名为 age
的列重命名为 years
:
from pyspark.sql.functions import col
# 创建 DataFrame
data = [("Alice", 25), ("Bob", 30), ("Charlie", 35)]
df = spark.createDataFrame(data, ["name", "age"])
# 重命名列
df = df.withColumnRenamed("age", "years")
df.show()
以上代码将输出如下结果:
+-------+-----+
| name|years|
+-------+-----+
| Alice| 25|
| Bob| 30|
|Charlie| 35|
+-------+-----+
本文向程序员介绍了如何从 PySpark DataFrame 中删除列。我们可以使用 DataFrame.drop()
方法删除列,使用 DataFrame.withColumnRenamed()
方法重命名列。