【发布时间】:2020-01-26 23:12:35
【问题描述】:
我有一个单元格可以具有的有效值列表。如果一列中的一个单元格无效,我需要删除整列。我知道有在特定列中删除行的答案,但在这里我将删除整个列,即使其中的一个单元格无效。有效/无效的条件是一个单元格只能有三个值:['Messi', 'Ronaldo', 'Virgil']
我尝试阅读有关过滤的内容,但我看到的只是过滤列并删除行。例如在this 问题中。我还读到应该避免在 Spark 中进行过多的扫描和洗牌,我同意这一点。
我不仅关注代码解决方案,还关注 PySpark 提供的现成代码。我希望它不会超出 SO 答案的范围。
对于以下输入数据框:
| Column 1 | Column 2 | Column 3 | Column 4 | Column 5 |
| --------------| --------------| --------------| --------------| --------------|
| Ronaldo | Salah | Messi | |Salah |
| Ronaldo | Messi | Virgil | Messi | null |
| Ronaldo | Ronaldo | Messi | Ronaldo | null |
我希望得到以下输出:
| Column 1 | Column 2 |
| --------------| --------------|
| Ronaldo | Messi |
| Ronaldo | Virgil |
| Ronaldo | Messi |
【问题讨论】:
标签: python python-3.x dataframe apache-spark pyspark