Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr
W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Funkcje to podstawowe pojęcie w programowaniu, które umożliwia zarządzanie blokami kodu i ponowne ich wykorzystywanie. Wiedza o tym, jak wywołać funkcję w Pythonie, jest kluczową umiejętnością do nauczenia.
W tym samouczku poznasz podstawy wywoływania funkcji, a także wskazówki dotyczące pisania efektywnego kodu, który jest łatwiejszy do zrozumienia.
Opanowanie funkcji nie tylko pomoże Ci stworzyć bardziej wszechstronny kod, ale także usprawni proces programowania i poprawi ogólną wydajność jako programisty.
Funkcje mają te same podstawowe zasady, a kiedy opanujesz funkcje w Pythonie, będziesz w stanie poszerzyć swoją wiedzę na temat funkcji w porównaniu z innymi językami programowania, takimi jak Java, R, JavaScript, PHP itp.
Spis treści
Co to jest funkcja?
Funkcja w Pythonie umożliwia tworzenie fragmentów kodu wielokrotnego użytku, które można wywoływać w całym programie, upraszczając kod i poprawiając czytelność. Wykonuje określone zadanie lub zestaw zadań i może być wywoływany wiele razy w ramach programu.
Definiowanie funkcji w Pythonie
Istnieją dwie główne kategorie funkcji w Pythonie:
Ta sekcja samouczka języka Python koncentruje się na funkcjach zdefiniowanych przez użytkownika. Nauczysz się:
Składnia funkcji
Słowo def
kluczowe, po którym następuje nazwa funkcji i nawiasy, pozwala zdefiniować funkcję w Pythonie. Treść funkcji jest wcięta i zawiera kod, który ma zostać wykonany po wywołaniu funkcji. Przykład podstawowej funkcji w Pythonie podano poniżej:
def witaj(): print("Witaj, świecie!") witaj()
Słowo def
kluczowe definiuje nową funkcję o nazwie witaj. Trzecia linia kodu wywołuje funkcję, która wykonuje kod wewnątrz funkcji.
Linia print
w powyższym kodzie jest również funkcją. Jeśli jednak pracujesz w środowisku Python 2, jest to zdefiniowane jako instrukcja. Później, w Pythonie 3, zostało to zmienione z instrukcji na funkcję.
Parametry i argumenty
Parametry to symbole zastępcze w definicji funkcji, podczas gdy argumenty to wartości przekazywane podczas wywoływania funkcji.
Aby określić parametry, umieść je w nawiasach definicji funkcji, oddzielając je przecinkami, jeśli istnieje wiele parametrów. Kiedy wywołujesz funkcję, podajesz wartości wejściowe zwane argumentami. Poniższy przykład demonstruje zdefiniowanie funkcji, która przyjmuje dwa parametry:
def add_numbers(a, b): zwraca a+b
Instrukcja return
w treści funkcji zwraca dodanie dwóch przekazanych do niej argumentów. Możesz myśleć o tym jak o kalkulatorze, w którym wprowadzasz wartości i otrzymujesz w zamian pożądany wynik.
Po zdefiniowaniu funkcji możemy ją wywołać z wybranymi przez nas argumentami.
dodaj_liczby(3, 5)
Argument kwargów
kwargs
jest skrótem od „argumentów słów kluczowych” w Pythonie. Pozwala rozszerzyć elastyczność funkcji, pozwalając wywołującemu określić dowolną liczbę argumentów słów kluczowych podczas wywoływania funkcji. Argumenty słów kluczowych są przekazywane do funkcji jako słownik.
W definicji funkcji można użyć **
składni podwójnej gwiazdki przed nazwą parametru, aby akceptować argumenty słów kluczowych.
def moja_funkcja(**kwargs): dla klucza, wartość w kwargs.items(): print(f"{klucz} = {wartość}") moja_funkcja(a=1, b=2, c=3)
W tym przykładzie kwargs
będzie to słownik zawierający argumenty słów kluczowych przekazane do funkcji. Wyjście pokazano na poniższym obrazku:
Wywołanie funkcji
Wywołanie funkcji oznacza wykonanie kodu wewnątrz ciała funkcji. Istnieją cztery typy wywołań funkcji w Pythonie:
Wywołanie funkcji podstawowej
Podstawowe wywołanie funkcji wywołuje funkcję bez przekazywania do niej żadnych argumentów. Po zdefiniowaniu funkcji można ją wywołać, używając jej nazwy z nawiasami okrągłymi.
Jeśli funkcja nie przyjmuje żadnych argumentów, nawiasy będą puste. Poniższy kod jest przykładem podstawowej funkcji.
def Welcome_message(): print("Witamy w LuckyTemplates!") Welcome_message()
Uruchomienie powyższego kodu daje następujący wynik:
Argumenty pozycyjne
Argumenty pozycyjne są najczęstszym rodzajem argumentów i są przekazywane do funkcji w tej samej kolejności, w jakiej zostały określone. Poniżej znajduje się przykład wywołania funkcji z argumentami pozycyjnymi:
def powitalna_wiadomość(nazwa): print(f"Witamy w LuckyTemplates, {imię}!") powitalna_wiadomość("Jan")
W powyższym przykładzie welcome_message()
funkcja przyjmuje jeden argument, name
. Gdy wywołasz tę funkcję z argumentem John
, wyświetli ona komunikat obok nazwy.
Powyższy kod daje następujące dane wyjściowe:
Argumenty słów kluczowych
Innym sposobem przekazywania argumentów do funkcji jest użycie argumentów w postaci słów kluczowych. Argumenty słów kluczowych pozwalają określić nazwę parametru wraz z jego wartością, dzięki czemu kod jest bardziej czytelny i zmniejsza się szansa na przekazanie argumentów w niewłaściwej kolejności.
Poniższy przykład używa argumentów słów kluczowych do wywołania welcome_message
funkcji:
def welcome_message(name, message='Witamy w LuckyTemplates!'): print(message, name) welcome_message(name='Alicja', message='Dzień dobry')
W tym przykładzie zdefiniowaliśmy funkcję welcome_message()
, która ma dwa parametry: name
, i message
. Parametr wiadomości ma domyślny argument Welcome to LuckyTemplates!
Podczas wywoływania funkcji używamy argumentów słów kluczowych do przekazania wartości John
, co daje wynikWelcome to LuckyTemplates! John.
Zwracane wartości
Podczas pracy z funkcjami często będziesz chciał zwrócić wynik operacji w ciele funkcji. Wartości zwracane umożliwiają funkcji wysłanie wyniku z powrotem do obiektu wywołującego. Dzięki zrozumieniu, jak pracować z pojedynczymi i wieloma zwracanymi wartościami, możesz zwiększyć funkcjonalność swoich programów w Pythonie.
Pojedyncza wartość zwracana
Funkcja z pojedynczą wartością zwracaną zwraca jedną wartość z operacji w funkcji.
Poniżej podano przykład funkcji z pojedynczą wartością zwracaną:
def get_greeting(nazwa): return "Cześć, " + imię + "!" powitanie = get_greeting("Alicja") print(powitanie)
W powyższym przykładzie funkcja get_greeting
przyjmuje nazwę, ponieważ jej argument funkcji kompiluje ją i zwraca spersonalizowane powitanie. Zwrócona wartość jest następnie zapisywana w zmiennej powitania i wyświetlana w konsoli.
Wiele zwracanych wartości
Czasami będziesz musiał zwrócić więcej niż jedną wartość z funkcji w Pythonie. Aby to osiągnąć, możesz użyć krotki lub listy do zawijania zwracanych wartości.
Poniżej znajduje się przykład funkcji wielu zwracanych wartości w języku programowania Python.
def get_name_and_age(): return("Jan", 30) imię, wiek = get_name_and_age() print(imię) print(wiek)
W tym przykładzie get_name_and_age
jest to funkcja, która zwraca krotkę z dwiema wartościami: a name
i an age
.
Możesz także zwrócić listę wartości z funkcji w Pythonie . Poniższa funkcja ilustruje listę wartości zwracanych przez funkcję.
def oblicz_powierzchnie(wysokość, szerokość): return [wysokość * szerokość, (wysokość * szerokość) / 2] powierzchnia, trójkąt_powierzchnia = oblicz_obszary(10, 5) print(powierzchnia) print(powierzchnia_trójkąta)
W tym przypadku funkcja calculate_areas
przyjmuje dwa argumenty, height
, oraz width
, i zwraca listę zawierającą pole prostokąta i pole trójkąta.
Przekazywanie funkcji Pythona jako argumentów
Python umożliwia przekazywanie funkcji jako argumentów do innych funkcji. Gdy funkcja przyjmuje inną funkcję jako argument, nazywa się ją funkcją wyższego rzędu.
Poniższy kod jest przykładem przekazania funkcji do innej funkcji w Pythonie:
def kwadrat(x): powrót x * x def double(x): powrót x * 2 def zastosuj_func(func, x): return func(x) wynik = zastosuj_func(kwadrat, 5)
Funkcje zagnieżdżone
Funkcje zagnieżdżone to funkcje zdefiniowane w innej funkcji, znane również jako funkcje wewnętrzne. Mogą być przydatne podczas tworzenia zamknięć i kodu modułowego.
Aby utworzyć funkcję zagnieżdżoną, po prostu zdefiniuj funkcję w innej funkcji:
def funkcja_zewnętrzna(x, y): def funkcja_wewnętrzna(z): return x + y + z wynik = funkcja_wewnętrzna(3) return wynik # Wywołaj funkcję zewnętrzną print(funkcja_zewnętrzna(1, 2))
W powyższym przykładzie wewnętrzna_funkcja jest zdefiniowana w zewnętrznej_funkcji. Funkcja wewnętrzna ma dostęp do zmiennych funkcji zewnętrznej, dzięki czemu może wykonywać na nich operacje.
Funkcje lambdy
Funkcje lambda, znane również jako funkcje anonimowe, to sposób tworzenia małych, jednorazowych funkcji w Pythonie. W projektach związanych z nauką o danych często będziesz pracować z funkcjami Lambda w celu tworzenia wydajnych struktur danych i potoków.
Aby utworzyć funkcję lambda, możesz użyć słowa kluczowego lambda, po którym następuje lista argumentów, dwukropek i wyrażenie. Wyrażenie jest tym, co funkcja lambda zwróci po wywołaniu. Poniżej znajduje się przykład funkcji lambda w Pythonie:
add = lambda a, b: a + b wynik = add(3, 4) print(result) # Wynik: 7
W powyższym przykładzie stworzyliśmy funkcję lambda, która przyjmuje dwa argumenty ( a
i b
) i zwraca ich sumę. Przypisaliśmy tę funkcję lambda do zmiennej o nazwie add
.
Lambda może być przydatna w następujących scenariuszach:
Poniższy przykład ilustruje użycie funkcji wyższego rzędu filter() z lambda:
liczby = [1, 2, 3, 4, 5, 6, 7, 8, 9] liczby parzyste = lista (filtr (lambda x: x % 2 == 0, liczby)) print (liczby_parzyste) # Wyjście: [2, 4, 6, 8]
W tym przykładzie użyliśmy funkcji lambda do zdefiniowania kryteriów filtrowania dla funkcji filter(). Funkcja lambda sprawdza, czy liczba jest parzysta, a funkcja filter() zwraca nową listę zawierającą tylko liczby parzyste.
Aby zobaczyć przykład tego, jak funkcje mogą być przydatne w różnych scenariuszach nauki o danych, obejrzyj poniższy film:
rekursja
Rekurencja to technika programowania, w której funkcja wywołuje samą siebie. Może to być przydatny sposób rozwiązywania złożonych problemów poprzez podzielenie ich na mniejsze, identyczne podproblemy.
Podczas tworzenia funkcji rekurencyjnej należy pamiętać o dwóch rzeczach: przypadku podstawowym i przypadku rekurencyjnym.
Poniższy przykład demonstruje funkcje rekurencyjne w Pythonie:
def silnia(n): jeśli n == 1: zwróć 1 zwróć n * silnia(n - 1) silnia(5)
W tym przykładzie bazowym przypadkiem jest when n == 1
, a funkcja zwraca 1
. Przypadek rekurencyjny występuje, gdy n nie jest równe 1, a funkcja wywołuje samą siebie z n - 1
.
Typowe błędy i rozwiązywanie problemów
Jeśli jesteś początkującym programistą, często napotkasz błędy podczas implementacji funkcji, takich jak funkcje rekurencyjne i lambda. W poniższych sekcjach opisano kilka typowych błędów i wskazówki dotyczące rozwiązywania problemów, które pomogą Ci skutecznie je rozwiązać.
1. Błąd typu: brak wymaganego argumentu : Ten błąd występuje, gdy nie podasz prawidłowej liczby argumentów oczekiwanych przez funkcję.
def my_function(fname, lname): print(fname, lname) # Prawidłowe wywołanie my_function("John", "Doe") # Zgłosi błąd my_function("John")
Aby naprawić ten błąd, upewnij się, że przekazujesz poprawną liczbę argumentów do swojej funkcji.
2. TypeError: nieobsługiwany typ operandu . Ten błąd może wystąpić, gdy próbujesz użyć operatora z niezgodnymi typami.
def add_number(a, b): return a + b # Poprawny wynik wywołania = add_number(5, 3) print(result) # Zgłosi błąd z powodu błędnych argumentów wynik = add_number("5", 3) print(result)
Aby naprawić ten błąd, sprawdź, czy Twoje funkcje obsługują odpowiednie typy danych, i rozważ użycie rzutowania typów, jeśli to konieczne
3. Błąd nazwy: nazwa „nazwa_funkcji” nie jest zdefiniowana : Ten błąd sugeruje, że funkcja nie została zdefiniowana przed jej wywołaniem.
# Poprawna kolejność def greet(): print("Witaj!") greet() # Niepoprawna kolejność do widzenia() def do widzenia(): print("Do widzenia!")
Aby naprawić ten błąd, upewnij się, że twoja funkcja jest poprawnie zdefiniowana i wywołujesz ją po jej zdefiniowaniu.
Wniosek
Aby podsumować i pomóc Ci utrwalić swoje zrozumienie, poniższe punkty podsumowują kluczowe aspekty wywoływania funkcji w Pythonie:
function_name()
).function_name(arg1, arg2)
).result = function_name(args)
).W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.
Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.
Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.
Czym jest self w Pythonie: przykłady z życia wzięte
Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.
Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.
W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.
W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.
Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.
Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.