python:typeerror:无序类型:nonetype()< float(),

fkaflof6  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(277)

我在pyspark中有一个很大的Dataframe,其中一列名为distance\u range,如下所示:

+---------------------+
    |distance_range|
    +---------------------+
    |             6-10 mil|
    |              2-4 mil|
    |            10-15 mil|
    |            20-30 mil|
    |            15-20 mil|
    |              4-6 mil|
    |             6-10 mil|
    |            0.5-2 mil|
    |              2-4 mil|
    |              2-4 mil|
    |              4-6 mil|
    |            30-40 mil|

虽然我想看到这列的不同值,并进一步以这列为轴心。

df.select('distance_range').distinct().show()

它总是返回错误:

Py4JJavaError: An error occurred while calling o1884.showString.
     TypeError: unorderable types: NoneType() < float()

此列为字符串类型,没有空值
此列由生成

def dist_range(distance):
         elif 0.5 <= distance <2:
                return '0.5-2 mil'
         elif  2 <= distance <4:
                return '2-4 mil'
                .
                .
                .
         elif 20 <= distance  <30:
               return '20-30 mil'
         else 30 <= distance  <40:
              return '30-40 mil'

    udf_distance_range = udf(dist_range, StringType())

    df = original_df.withColumn("distance_range", udf_distance_range("home_store_dist"))

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题