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

Seçim II

SQL'e benzer şekilde, sütun bazlı işlemleri yapmak için .select() metodunu da kullanabilirsin. df.colName gösterimini kullanarak bir sütun seçtiğinde, herhangi bir sütun işlemi yapabilir ve .select() metodu dönüştürülmüş sütunu döndürür. Örneğin,

flights.select(flights.air_time/60)

dakika yerine saat cinsinden uçuş sürelerinden oluşan bir sütun döndürür. Seçtiğin bir sütunu yeniden adlandırmak için .alias() metodunu da kullanabilirsin. Yani, duration_hrs sütununu .select() ile seçmek istersen (DataFrame'inde yoksa) şöyle yapabilirsin:

flights.select((flights.air_time/60).alias("duration_hrs"))

Eşdeğer Spark DataFrame metodu olan .selectExpr() ise SQL ifadelerini string olarak alır:

flights.selectExpr("air_time/60 as duration_hrs")

burada SQL'deki as anahtar sözcüğü .alias() metoduna denktir. Birden fazla sütun seçmek için birden fazla string geçebilirsin.

Unutma, çalışma alanında spark adlı bir SparkSession ve flights adlı Spark DataFrame zaten mevcut.

Bu egzersiz

PySpark Temelleri

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

Her uçuşun ortalama hızını iki farklı yolla içeren bir tablo oluştur.

  • Ortalama hızı, distance değerini (saat cinsine çevrilmiş) air_time değerine bölerek hesapla. Bu sütunu adlandırmak için .alias() metodunu kullan ve adını "avg_speed" yap. Çıktıyı avg_speed değişkeni olarak kaydet.
  • "origin", "dest", "tailnum" sütunlarını ve avg_speed (tırnaksız!) sütununu seç. Bunu speed1 olarak kaydet.
  • Aynı tabloyu .selectExpr() ve bir SQL ifadesi içeren string kullanarak oluştur. Bunu speed2 olarak kaydet.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Define avg_speed
avg_speed = (flights.____/(flights.____/60)).alias("____")

# Select the correct columns
speed1 = flights.select("origin", "dest", "tailnum", avg_speed)

# Create the same table using a SQL expression
speed2 = flights.selectExpr("____", "____", "____", "distance/(air_time/60) as ____")
Kodu Düzenle ve Çalıştır