gpt4 book ai didi

python - 验证 pyspark 数据框中列的数据类型

转载 作者:太空宇宙 更新时间:2023-11-04 02:42:19 26 4
gpt4 key购买 nike

我有 3 列的 pyspark 数据框。配置单元表 'test1' 的 DDL 都是字符串数据类型。所以如果我做 df.printSchema 都是字符串数据类型,如下所示,

>>> df = spark.sql("select * from default.test1")
>>> df.printSchema()
root
|-- c1: string (nullable = true)
|-- c2: string (nullable = true)
|-- c3: string (nullable = true)

+----------+--------------+-------------------+
|c1 |c2 |c3 |
+----------+--------------+-------------------+
|April |20132014 |4 |
|May |20132014 |5 |
|June |abcdefgh |6 |
+----------+--------------+-------------------+

现在我只想过滤“c2”列中整数类型的那些记录。所以基本上我只需要前 2 条整数类型的记录,如“20132014”。并排除其他记录。

最佳答案

一行:

df.withColumn("c2", df["c2"].cast("integer")).na.drop(subset=["c2"])

如果 c2 不是有效的整数,它将是 NULL 并在后续步骤中删除。

不改变类型

valid = df.where(df["c2"].cast("integer").isNotNull())
invalid = df.where(df["c2"].cast("integer").isNull())

关于python - 验证 pyspark 数据框中列的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46145392/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com