微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pyspark 数据帧过滤

如何解决Pyspark 数据帧过滤

我有一个如下的数据框:

|Property ID|Location|Price|bedrooms|Bathrooms|Size|Price SQ Ft|Status|

当我用卧室或浴室过滤它时,它给出了正确的答案

df = spark.read.csv('/FileStore/tables/realestate.txt',header=True,inferSchema=True,sep='|')
df.filter(df.bedrooms==2).show()

但是当我使用属性 ID 作为 df.filter(df.Property ID==1532201).show() 对其进行过滤时, 我收到一个错误。是不是因为 Property 和 ID 之间有空格?

解决方法

PropertyID 之间的 空格 是问题的原因。 您可以遵循的另一种方法如下:

from pyspark.sql import functions as F
df.filter(F.col('Property ID')==1532201).show()
,

您也可以使用方括号符号来选择列:

go mod init

或者使用原始 SQL 字符串进行过滤:(注意反引号)

df.filter(df['Property ID'] == 1532201).show()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。