1. Nauka
  2. /
  3. Kursy
  4. /
  5. Python średnio zaawansowany

Connected

ćwiczenie

Dodawanie kolumny (2)

Iterowanie po obserwacjach DataFrame'a Pandas za pomocą iterrows() jest łatwe do zrozumienia, ale niezbyt wydajne. Przy każdej iteracji tworzysz nową serię Pandas.

Jeśli chcesz dodać kolumnę do DataFrame'a, wywołując funkcję na innej kolumnie, metoda iterrows() w połączeniu z pętlą for nie jest najlepszym rozwiązaniem. Zamiast tego warto użyć apply().

Porównaj wersję z iterrows() i wersję z apply(), które dają ten sam wynik w DataFrame brics:

for lab, row in brics.iterrows() :
    brics.loc[lab, "name_length"] = len(row["country"])

brics["name_length"] = brics["country"].apply(len)

Podobną technikę można zastosować, by wywołać metodę upper() na każdej nazwie w kolumnie country. Ponieważ upper() jest metodą, podejście będzie nieco inne:

Instrukcje

100 XP
  • Zastąp pętlę for jednolinijkowym wyrażeniem używającym .apply(str.upper). Wynik powinien być taki sam: do cars zostanie dodana kolumna COUNTRY zawierająca nazwy krajów zapisane wielkimi literami.
  • Jak zwykle, wyświetl cars, żeby zobaczyć efekty swojej pracy.