Zacznij terazZacznij za darmo

Wyodrębnianie tekstu do nowych cech

Garaże są ważnym kryterium przy wyborze domu w Minnesocie – większość mieszkańców posiada samochód, a odśnieżanie auta parkującego na zewnątrz to prawdziwa uciążliwość. Istotne jest też to, czy garaż jest połączony z domem, co pozwala uniknąć wychodzenia na mróz. Stwórzmy cechę has_attached_garage, która będzie określać, czy garaż jest dobudowany do domu, czy nie.

To ćwiczenie jest częścią kursu

Inżynieria cech z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj potrzebną funkcję when() z pyspark.sql.functions.
  • Utwórz warunek dopasowania ciągu znaków za pomocą like(), aby wyszukać wzorzec Attached Garage w kolumnie df['GARAGEDESCRIPTION'] – użyj symbolu wieloznacznego %, tak aby dopasowanie mogło wystąpić w dowolnym miejscu w polu.
  • Analogicznie utwórz kolejny warunek za pomocą like(), aby wyszukać wzorzec Detached Garage w kolumnie df['GARAGEDESCRIPTION'] – również z symbolem wieloznacznym %.
  • Utwórz nową kolumnę has_attached_garage, używając when(), aby przypisać wartość 1, gdy garaż jest dobudowany do domu, 0 gdy jest wolnostojący, oraz użyj otherwise(), aby przypisać wartość null za pomocą None w pozostałych przypadkach.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Import needed functions
____ ____ ____ ____

# Create boolean conditions for string matches
has_attached_garage = df[____].____(____)
has_detached_garage = df[____].____(____)

# Conditional value assignment 
df = df.withColumn(____, (____(____, 1)
                                          .____(____, 0)
                                          .____(____)))

# Inspect results
df[['GARAGEDESCRIPTION', 'has_attached_garage']].show(truncate=100)
Edytuj i uruchom kod