【发布时间】:2023-01-09 22:46:13
【问题描述】:
我有一个这样的数据框:
+----------------------+--------------------------------------------------+-------------------+
| column_1 |column_2| |Required_column |
+----------------------+--------------------------------------------------+-------------------+
|K12B-45-84-6 |K12B-02-36-504, I05O-21-65-312, A301-21-25-363 | True |
|J020-35-2-9 |P12K-05-31-602, M002-22-22-636,L630-51-32-544 | False |
|L006-85-00-694 |M10P-22-94-349,L006-85-00-694, I553-35-12-240 | True |
|M002-22-36-989 |U985-12-45-363, M002-19-14-964 | True |
+----------------------+--------------------------------------------------+-------------------+
解释:column_1 和 column_2 是一个字符串, 为了便于理解,我们将数据框中的值称为“开关”。 Column_1 每行始终只有一个开关值,但 column_2 可能有多个开关值。只有比较前 4 个字符串才能返回 True 或 False 值(例如:K12B == K12B 见第一行)
注意:即使 column_2 中的开关值是逗号分隔的,也从来没有共同的逻辑(有时可能有一个空格或两个空格等) 提示是 column_1 或 column_2 中的每个开关值都以字母开头,因此需要基于该提示的逻辑
目的是让所需的列返回 True 或 False,解决方案在 Pyspark 中是必需的
提前致谢
【问题讨论】:
标签: dataframe apache-spark pyspark