Pandy stosują funkcję do każdego wiersza

Pandy stosują funkcję do każdego wiersza
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:

  1. FUNC: Niestandardowa/wbudowana funkcja, którą można zastosować na wierszach/kolumnach.
  2. oś: kolumny (1), indeks (0)
  3. Skipna: Zignoruj ​​wartości NA/NULL podczas obliczania wyniku.
  4. Result_Type: Zwracany typ wyników, takich jak seria, DataFrame itp.
  5. 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.

  1. „Operacja 1” dodaje wiersze we wszystkich kolumnach. Wynik w każdej kolumnie jest przechowywany w kolumnie „Wynik dodania”.
  2. „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:

  1. Suma wszystkich rzędów za pomocą Numpy.suma().
  2. Średnia ze wszystkich rzędów za pomocą Numpy.mieć na myśli().
  3. Maksimum spośród każdego wiersza za pomocą Numpy.Max ().
  4. 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 ()”.