【发布时间】:2017-12-18 18:35:44
【问题描述】:
我有一个带有纬度和经度列的 Spark SQL DataDrame,我试图通过计算到输入的距离来过滤低于阈值的行。我当前的代码看起来像。我正在使用geopy (great_circle) 来计算经纬度对之间的距离。
from geopy.distance import great_circle
point = (10, 20)
threshold = 10
filtered_df = df.filter(great_circle(point, (df.lat, df.lon)) < threshold)
当我运行此代码时,我收到以下错误
ValueError: Cannot convert column into bool: please use '&' for 'and', '|' for 'or', '~' for 'not' when building DataFrame boolean expressions.
我很困惑过滤器表达式的哪一部分是错误的。
【问题讨论】:
标签: python apache-spark pyspark apache-spark-sql geopy