gpt4 book ai didi

python spark将dataframe列数据类型更改为int错误

转载 作者:行者123 更新时间:2023-11-28 17:24:29 28 4
gpt4 key购买 nike

我想将列类型转换为 int 并获取前 3 行

    df.withColumn("rn", rowNumber().over(windowSpec).cast('int')).where("rn"<=3).drop("rn").show()

但是我这个错误

TypeError: unorderable types: str() <= int()

最佳答案

错误在这里:

.where("rn"<=3)

如果您将来遇到类似问题,可以通过以下方式解决这个问题。正在关注

TypeError: unorderable types: str() <= int()

是 Python 异常,没有 Py4JError。这通常意味着您可以忽略 JVM 问题并专注于核心 Python。您明确比较事物的代码的唯一部分是:

"rn" <= 3

如果你希望它是一个 SQL 文字,你应该传递一个字符串:

.where("rn <= 3")

如果您希望将 rn 解析为列,请使用 col 函数:

from pyspark.sql.functions import col

.where(col("rn") <= 3)

此外,rowNumber 函数已在最新版本中删除。您应该使用 row_number 来实现向前兼容性。

关于python spark将dataframe列数据类型更改为int错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39930266/

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