在pyspark中查找和删除匹配的列值

len*_*ble 2 apache-spark pyspark spark-dataframe pyspark-sql

我有一个pyspark数据框,偶尔会有一列与另一列匹配的错误值.它看起来像这样:

| Date         | Latitude      |
| 2017-01-01   | 43.4553       |
| 2017-01-02   | 42.9399       |
| 2017-01-03   | 43.0091       |
| 2017-01-04   | 2017-01-04    |
Run Code Online (Sandbox Code Playgroud)

显然,最后一个纬度值是不正确的.我需要删除任何和所有这样的行.我想过使用,.isin()但我似乎无法让它工作.如果我试试

df['Date'].isin(['Latitude'])
Run Code Online (Sandbox Code Playgroud)

我明白了:

Column<(Date IN (Latitude))>
Run Code Online (Sandbox Code Playgroud)

有什么建议?

pis*_*all 5

是.您可以使用~(反转运算符)使用该isin()函数排除元素.没有真正的文档,但你可以尝试,如果它给你所需的输出.

df = df.filter(~df['Date'].isin(df['Latitude']))
Run Code Online (Sandbox Code Playgroud)