PySpark SQL: 删除一列或多列
2021-11-05 09:26:58.0
1、构造一个DataFrame
# List data = [{"Category": 'Category A', "ID": 1, "Value": 12.40}, {"Category": 'Category B', "ID": 2, "Value": 30.10}, {"Category": 'Category C', "ID": 3, "Value": 100.01} ] # 创建DataFrame df = spark.createDataFrame(data) df.show() df.printSchema()
执行以上代码,输出结果如下:
+----------+---+------+ | Category| ID| Value| +----------+---+------+ |Category A| 1| 12.4| |Category B| 2| 30.1| |Category C| 3|100.01| +----------+---+------+ root |-- Category: string (nullable = true) |-- ID: long (nullable = true) |-- Value: double (nullable = true)
2、删除或移除一列
我们可以使用drop函数来删除或移除一列。
df1 = df.drop('Category') df1.show()
执行以上代码,输出结果如下:
+---+------+ | ID| Value| +---+------+ | 1| 12.4| | 2| 30.1| | 3|100.01| +---+------+
3、删除多列
可以一次性删除多列。
df2 = df.drop('Category', 'ID') df2.show() columns_to_drop = ['Category', 'ID'] df3 = df.drop(*columns_to_drop) df3.show()
执行以上代码,输出结果如下:
+------+ | Value| +------+ | 12.4| | 30.1| |100.01| +------+ +------+ | Value| +------+ | 12.4| | 30.1| |100.01| +------+