BaşlayınÜcretsiz başlayın

Tehlikeli Bir Join

Bu egzersizde, bir mahalleyi ne kadar yaya dostu olduğunu ölçen başka bir veri kümesini eklemek için Enlem ve Boylam üzerinden join yapacağız. Join sütunlarımızın aynı veri tipinde olduğundan ve aynı hassasiyette (ondalıktan sonra aynı basamak sayısı) eşleştirildiğinden emin olmalıyız; yoksa join çalışmaz!

Aşağıda df['latitude'] ve df['longitude'] sütunlarının, walk_df['longitude'] ve walk_df['latitude'] sütunlarına göre daha yüksek hassasiyete sahip olduğunu göreceksin; join'in doğru çalışması için bunları aynı hassasiyete yuvarlamamız gerekecek.

Bu egzersiz, kursun bir parçasıdır

PySpark ile Özellik Mühendisliği

Kursa Göz Atın

Egzersiz talimatları

  • walk_df['latitude'] ve walk_df['longitude'] sütunlarını cast('double') kullanarak double türe dönüştür ve sütunları yerinde withColumn() ile değiştir.
  • Sütunları withColumn() ile yerinde yuvarla: round('latitude', 5) ve round('longitude', 5).
  • Join koşulunu oluştur: walk_df['latitude'] ile df['latitude'] ve walk_df['longitude'] ile df['longitude'] eşleşsin.
  • df ve walk_df veri çerçevelerini yukarıdaki koşulla ve left join türüyle join() kullanarak birleştir. Birleşik veri çerçevesini join_df olarak kaydet.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Cast data types
walk_df = ____.withColumn('longitude', ____.cast('double'))
walk_df = ____.withColumn(____, ____.cast('double'))

# Round precision
df = df.withColumn('longitude', round(____, 5))
df = df.withColumn(____, round(____, 5))

# Create join condition
condition = [____ == ____, ____ == ____]

# Join the dataframes together
join_df = ____.join(____, on=____, how=____)
# Count non-null records from new field
print(join_df.where(~join_df['walkscore'].isNull()).count())
Kodu Düzenle ve Çalıştır