Удалите строки, содержащие только числа, из строк фрейма данных

#dataframe #apache-spark #pyspark #bigdata #google-colaboratory

Вопрос:

Мой фрейм данных содержит множество строк, состоящих из:

  • Только цифры;
  • Числа и пробелы;
  • Строки, смешанные с числами (см. Hell0 guys34 g00d j0b.);
  -------------------------- -------- 
|   Content                | Score  |
 -------------------------- -------- 
| Hello my name is Tim.    | 3      |
| 081332111333             | 4      |
| 08 97 5524               | 1      |
| 10 08 2021               | 1      |
| Great App                | 3      |
| Hell0 guys34 g00d j0b.   | 5      |
    . . . . . . . . . .      . . .
| 122345324 2331 111111    | 3      |
 -------------------------- -------- 
 

Есть ли способ очистки, то есть удалить эти 3 типа возможных строк, которые появляются в моем фрейме данных, с помощью withColumn или любого другого быстрого метода?
Я создал цикл for, который повторяет все мои строки в фрейме данных, но поскольку их более 1 миллиона строк, это занимает много времени.
Мое окружение-Google Colab
, большое спасибо!!

Ответ №1:

Используя pyspark, я бы просто сделал что-то вроде этого:

 #assuming df is your dataframe
df.where(~df["content"].rlike("d")).show()
 

d Соответствует любой десятичной цифре. Эквивалентно [0-9] .