У меня есть pyspark Dataframe
, который содержит много столбцов, в том числе столбец типа Array и столбец String:
numbers <Array> | name<String>
------------------------------|----------------
["160001","160021"] | A
------------------------------|----------------
["160001","1600", "42345"] | B
------------------------------|----------------
["160001","9867", "42345"] | C
------------------------------|----------------
["160001","8650", "2345"] | A
------------------------------|----------------
["2456","78568", "42345"] | B
-----------------------------------------------
Я хочу пропустить числа, содержащие 4 цифры, из столбца чисел if the name column is not "B".
And keep it if the name column is "B".
Например:
In the lines 2 and 5, I have "1600" and "2456" contains 4 digits
и столбец имени «B», я должен хранить их в значениях столбца:
------------------------------|----------------
["160001","1600", "42345"] | B
------------------------------|----------------
["2456","78568", "42345"] | B
-----------------------------------------------
В строках 3 и 4, У меня есть столбец чисел, который содержит цифры 4 цифры, но имя столбца отличается от "B" ==> Поэтому я должен пропустить их.
Пример:
------------------------------|----------------
["160001","9867", "42345"] | C
------------------------------|----------------
["160001","8650", "2345"] | A
------------------------------|----------------
Ожидаемый результат:
numbers <Array> | name<String>
------------------------------|----------------
["160001","160021"] | A
------------------------------|----------------
["160001","1600", "42345"] | B
------------------------------|----------------
["160001", "42345"] | C
------------------------------|----------------
["160001"] | A
------------------------------|----------------
["2456","78568", "42345"] | B
-----------------------------------------------
Как я могу это сделать? Спасибо