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

Varsayılan argümanlar için en iyi uygulama

Takım arkadaşlarından biri (belli ki bu dersi almamış) bir pandas DataFrame'ine sütun eklemek için bu fonksiyonu yazmış. Ne yazık ki, varsayılan argüman değeri olarak değiştirilebilir bir değişken kullanmış! Lütfen onlara bunun daha doğru yolunu göster ki beklenmedik davranışlarla karşılaşmasınlar.

def add_column(values, df=pandas.DataFrame()):
  """`values` sütununu `df` adlı DataFrame'e ekle.
  Sütunun adı, "n" sütunun sayısal indeksini gösterecek şekilde
  "col_<n>" olacaktır.

  Args:
    values (iterable): Yeni sütunun değerleri
    df (DataFrame, optional): Güncellenecek DataFrame.
      Herhangi bir DataFrame verilmezse, varsayılan olarak bir tane oluşturulur.

  Returns:
    DataFrame
  """
  df['col_{}'.format(len(df.columns))] = values
  return df

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

Python'da Fonksiyon Yazımı

Kursa Göz Atın

Egzersiz talimatları

  • En iyi uygulamalara uymak için df'nin varsayılan değerini değiştirilemez bir değere çevir.
  • Çağıran bir DataFrame vermediyse yeni bir DataFrame oluşturulacak şekilde fonksiyonun kodunu güncelle.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Use an immutable variable for the default argument
def better_add_column(values, df=____):
  """Add a column of `values` to a DataFrame `df`.
  The column will be named "col_" where "n" is
  the numerical index of the column.

  Args:
    values (iterable): The values of the new column
    df (DataFrame, optional): The DataFrame to update.
      If no DataFrame is passed, one is created by default.

  Returns:
    DataFrame
  """
  # Update the function to create a default DataFrame
  if ____ is ____:
    df = pandas.DataFrame()
  df['col_{}'.format(len(df.columns))] = values
  return df
Kodu Düzenle ve Çalıştır