Pandy zapewnia wiele funkcji, które ułatwiają analizę i manipulowanie danymi. Wykorzystujemy te funkcje, aby nasze zadania ułatwiają i szybciej. Stosujemy funkcje do wierszy i kolumn. Aby zastosować funkcję do każdego wiersza w określonej ramce danych „Pandy”, używamy metody Applape (). Kiedy musimy wywołać dowolną funkcję, aby zaktualizować każdy wiersz w ramce danych „Pandy”, używamy funkcji „Apply ()”. Powinieneś ustawić zmienną osi = 1, aby umieścić funkcję na każdym wierszu () w „Pandy” DataFrame. W tym przewodniku wykorzystujemy funkcję „Apply ()” w „Pandy” z czterema unikalnymi metodami przy użyciu serii, funkcji niestandardowych, wyrażeń Numpy i Lambda.
Składnia:
DataFrame_Object.Aplikuj (func, axis = 0, raw = false, result_type = brak, args = (), ** kwargs)
Parametry:
- FUNC: Niestandardowa/wbudowana funkcja, którą można zastosować na wierszach/kolumnach.
- oś: kolumny (1), indeks (0)
- Skipna: Zignoruj wartości NA/NULL podczas obliczania wyniku.
- Result_Type: Zwracany typ wyników, takich jak seria, DataFrame itp.
- Args: Określ argumenty.
Metoda 1: Zastosuj () z funkcją niestandardową
Aby wykonać działanie na wszystkich wierszach w PandaS DataFrame, musimy napisać funkcję, która wykona obliczanie i przekazanie nazwy funkcji w metodzie Apply (). Przez to funkcja jest stosowana do każdego rzędu.
Pandy.DataFrame_Object.Zastosuj (Custom_Function)
Przykład:
W tym przykładzie mamy ramkę danych o nazwie „Analiza” z 4 kolumnami typu liczb całkowitych. Teraz piszemy dwie niestandardowe funkcje na tych 4 kolumnach.
- „Operacja 1” dodaje wiersze we wszystkich kolumnach. Wynik w każdej kolumnie jest przechowywany w kolumnie „Wynik dodania”.
- „Operation2” mnoży rzędy we wszystkich kolumnach. Wynik w każdej kolumnie jest przechowywany w kolumnie „Wynik mnożenia”.
importować pandy
# Utwórz ramę danych za pomocą list
Analiza = pandy.DataFrame ([[[23,1000, 34,56],
[23 700,11,0],
[23,20,4,2],
[21 400,32,45],
[21 100,456,78],
[23 800,90,12],
[21 400,32,45],
[20,120,1,67],
[23 100,90,12],
[22 450,76,56],
[22,40,0,1],
[22,12,45,0]
], kolumny = [„Points1”, „Points2”, „Points3”, „Points4”])
# Wyświetl DataFrame - Analiza
Drukuj (analiza)
# Funkcja, która dodaje każdy wiersz dla wszystkich kolumn.
Def Operation1 (wiersz):
Powrót wierszy [0]+wiersz [1]+wiersz [2]+wiersz [3]
# Funkcja, która dodaje każdy wiersz dla wszystkich kolumn.
Def Operation2 (wiersz):
Powrót wierszy [0]*wiersz [1]*wiersz [2]*wiersz [3]
# Przekaż funkcję do metody Applape () i przechowuj ją w kolumnie „Wynik dodania”
Analiza [„Wynik dodania”] = Analiza.Zastosuj (operacja 1, oś = 1)
# Przekaż funkcję do metody Apply () i przechowuj ją w kolumnie „Wynik mnożenia”
Analiza [„Wynik mnożenia”] = Analiza.Zastosuj (operacja 2, oś = 1)
wydrukować()
Drukuj (analiza)
Wyjście:
Wyjaśnienie:
Przekazujemy „Operation1” i „Operation2” do funkcji Apply () osobno jeden po drugiej. Widać, że suma wszystkich wartości w każdym wierszu jest przechowywana w kolumnie „Wynik dodania”, a iloczyn wszystkich wartości w każdym wierszu jest przechowywany w kolumnie „Wynik mnożenia”.
Metoda 2: Zastosuj () z wyrażeniem Lambda
Tutaj przekazujemy Lambda jako parametr do funkcji Apply () i wykonujemy obliczenia w sobie.
Pandy.DataFrame_Object.Zastosuj (Lambda X: obliczenie, oś = 1)
Przykład:
Dodajmy i pomnożmy cztery rzędy, takie jak poprzedni przykład i przechowujmy je w dwóch kolumnach.
importować pandy
# Utwórz ramę danych za pomocą list
Analiza = pandy.DataFrame ([[[23,1000, 34,56],
[23 700,11,0],
[23,20,4,2],
[21 400,32,45],
[21 100,456,78],
[23 800,90,12],
[21 400,32,45],
[20,120,1,67],
[23 100,90,12],
[22 450,76,56],
[22,40,0,1],
[22,12,45,0]
], kolumny = [„Points1”, „Points2”, „Points3”, „Points4”])
# Dodaj wszystkie wiersze i przechowuj je w kolumnie „Wynik dodania”.
Analiza [„Wynik dodania”] = Analiza.Zastosuj (Lambda Record: Record [0]+RECORD [1]+RECORD [2]+RECORD [3], Oś = 1)
# Pomnóż wszystkie wiersze i przechowuj je w kolumnie „Wynik mnożenia”.
Analiza [„Wynik mnożenia”] = Analiza.Zastosuj (Lambda Record: Record [0]*Record [1]*RECOR [2]*RECORD [3], Axis = 1)
wydrukować()
Drukuj (analiza)
Wyjście:
Wyjaśnienie:
Wyrażenia, które są używane, są następujące:
# Dodaj wszystkie wiersze i przechowuj je w kolumnie „Wynik dodania”.
Analiza [„Wynik dodania”] = Analiza.Zastosuj (Lambda Record: Record [0]+RECORD [1]+RECORD [2]+RECORD [3], Oś = 1)
# Pomnóż wszystkie wiersze i przechowuj je w kolumnie „Wynik mnożenia”.
Analiza [„Wynik mnożenia”] = Analiza.Zastosuj (Lambda Record: Record [0]*Record [1]*RECOR [2]*RECORD [3], Axis = 1)
Widać, że suma wszystkich wartości w każdym wierszu jest przechowywana w kolumnie „Wynik dodania”, a iloczyn wszystkich wartości w każdym wierszu jest przechowywany w kolumnie „Wynik mnożenia”.
Metoda 3: Zastosuj () z pandy.Seria
Jeśli chcesz zmodyfikować wiersz osobno lub chcesz aktualizować wszystkie wiersze indywidualnie, możesz to zrobić, przekazując serię w wyrażeniu Lambda.
Pandy.DataFrame_Object.Zastosuj (Lambda X: Pandy.Seria (obliczenie), oś = 1)
Przykład:
Odejmijmy 10 od wszystkich kolumn.
importować pandy
# Utwórz ramę danych za pomocą list
Analiza = pandy.DataFrame ([[[23,1000, 34,56],
[23 700,11,0],
[23,20,4,2],
[21 400,32,45],
[21 100,456,78],
[23 800,90,12],
[21 400,32,45],
[20,120,1,67],
[23 100,90,12],
[22 450,76,56],
[22,40,0,1],
[22,12,45,0]
], kolumny = [„Points1”, „Points2”, „Points3”, „Points4”])
# Odejmij 10 od wszystkich wierszy
Analiza = analiza.Zastosuj (rekord Lambda: Pandy.Seria ([Record [0] -10, Record [1] -10, Record [2] -10, rekord [3] -10]), Oś = 1)
Drukuj (analiza)
Wyjście:
Wyjaśnienie:
Wyrażenia, które są używane, są następujące:
Analiza = analiza.Zastosuj (rekord Lambda: Pandy.Seria ([Record [0] -10, Record [1] -10, Record [2] -10, rekord [3] -10]), Oś = 1)
Możesz zobaczyć, że wartości we wszystkich kolumnach są odjęte od 10.
Metoda 4: Zastosuj () z funkcjami Numpy
Użyjmy funkcji Numpy, aby wykonywać obliczenia na wszystkich rzędach w PandaS DataFrame.
Pandy.DataFrame_Object.Zastosuj (funkcja Numpy, oś = 1)
Przykład:
Użyjmy funkcji Numpy, aby zwrócić następujące czynności:
- Suma wszystkich rzędów za pomocą Numpy.suma().
- Średnia ze wszystkich rzędów za pomocą Numpy.mieć na myśli().
- Maksimum spośród każdego wiersza za pomocą Numpy.Max ().
- Minimum spośród każdego rzędu za pomocą Numpy.min ().
Przechowujemy wynik w czterech różnych kolumnach.
importować pandy
Importuj Numpy
# Utwórz ramę danych za pomocą list
Analiza = pandy.DataFrame ([[[23,1000, 34,56],
[23 700,11,0],
[23,20,4,2],
[21 400,32,45],
[21 100,456,78],
[23 800,90,12],
[21 400,32,45],
[20,120,1,67],
[23 100,90,12],
[22 450,76,56],
[22,40,0,1],
[22,12,45,0]
], kolumny = [„Points1”, „Points2”, „Points3”, „Points4”])
# Uzyskaj całkowitą sumę wierszy i przechowuj w „wyniku sumy”
analiza [„suma wyniku”] = analiza.Zastosuj (Numpy.suma, oś = 1)
# Uzyskaj średnią rzędów i przechowuj w „wyniku suma”
analiza [„średni wynik”] = analiza.Zastosuj (Numpy.średnia, oś = 1)
# Uzyskaj maksymalną wartość z każdego wiersza i przechowuj w „Max Result”
Analiza [„Max wynik”] = analiza.Zastosuj (Numpy.Max, oś = 1)
# Uzyskaj minimalną wartość z każdego wiersza i przechowuj w „wyniku minuty”
Analiza [„Min Result”] = Analiza.Zastosuj (Numpy.min, oś = 1)
Drukuj (analiza)
Wyjście:
Wniosek
Dostarliśmy tego przewodnika, aby wyjaśnić, jak korzystać z funkcji Apply () do każdego wiersza. Naszym głównym celem jest zapewnienie dobrego, łatwego i szczegółowego wyjaśnienia tej koncepcji funkcji „Apply ()”. Wykazaliśmy cztery odrębne przykłady, w których pokazaliśmy, jak zastosować funkcję do każdego wiersza w „Pandy” za pomocą funkcji „Apply ()”. Wyjaśniliśmy, że kiedy chcemy zaimplementować dowolną funkcję do każdego wiersza w DataFrame w pandy, używamy w tym celu funkcji „Apply ()”.