在 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 中查找和删除匹配的列值的主要内容,如果未能解决你的问题,请参考以下文章