在 pyspark 中查找和删除匹配的列值
Posted
技术标签:
【中文标题】在 pyspark 中查找和删除匹配的列值【英文标题】:Find and remove matching column values in pyspark 【发布时间】:2018-04-24 01:46:18 【问题描述】:我有一个 pyspark 数据框,其中列有时会具有与另一列匹配的错误值。它看起来像这样:
| Date | Latitude |
| 2017-01-01 | 43.4553 |
| 2017-01-02 | 42.9399 |
| 2017-01-03 | 43.0091 |
| 2017-01-04 | 2017-01-04 |
很明显,最后一个纬度值是不正确的。我需要删除任何和所有这样的行。我考虑过使用.isin()
,但我似乎无法让它工作。如果我尝试
df['Date'].isin(['Latitude'])
我明白了:
Column<(Date IN (Latitude))>
有什么建议吗?
【问题讨论】:
【参考方案1】:如果您更熟悉 SQL 语法,可以在 filter()
中使用 pyspark-sql
条件:
df = df.filter("Date NOT IN (Latitude)")
或者等效地使用pyspark.sql.DataFrame.where()
:
df = df.where("Date NOT IN (Latitude)")
【讨论】:
以上是关于在 pyspark 中查找和删除匹配的列值的主要内容,如果未能解决你的问题,请参考以下文章
当列表值与Pyspark数据帧中的列值的子字符串匹配时,填充新列
使用 pyspark/pandas 使用列名的模式匹配对具有不同列名的多个列值求和