Pandy przekształcenia

Pandy przekształcenia
„Dane istnieją w różnych rozmiarach i kształtach. Często wymagamy przekształcenia danych w trakcie ich kontaktów. Przeanalizujemy 2 proste metody przekształcania ramki danych w tym artykule."

Możemy użyć „PD.Pivot () ”funkcja przekształcenia ramki danych z istniejącego długiego formatu do długiego. Nową strumień danych można wytworzyć przy użyciu funkcji PIVOT z istniejącej. „PD.Pivot () ”przyjmuje trzy argumenty. Aby zastosować tę metodę, musimy użyć następującej składni:

„PD.Metoda mott () ”można użyć do konwersji ramki danych z formatu szerokiego na długi. Gdy jest potrzebne do użycia określonej kolumny jako identyfikatora, funkcję tę można zastosować. Podano składnię do zastosowania tej metody:

Praktyczne wdrożenie tych dwóch technik zostanie wyciągnięte w tym samouczku za pomocą programów Python.

Przykład 1: Wykorzystanie metody pand Pivot () do przekształcenia ramki danych z długiej do szerokości

Pierwsza ilustracja wdroży koncepcję wykorzystania pand „PD.PIVOT () ”metoda przekształcania ramki danych z długiego formatu w szeroką. Zobaczmy, jak to działa.

Narzędzie „Spyder” jest uruchamiane do kompilacji programu Python za pomocą jego środowiska. Kod zaczął się od importowania biblioteki pandy. Dodatkowo stworzyliśmy „PD” alias dla „pandy”.

Do konstruowania ramki danych wykorzystamy metodę panda „PD.Ramka danych()". Ta metoda tworzy ramkę danych z dostarczonymi wartościami. „PD.Metoda dataFrame () ”jest wywoływana w celu zbudowania ramki danych z 3 kolumnami„ grupa ”,„ zadaniem ”i„ wynikiem ”. Kolumny mogą przechowywać wartości z różnymi danych, ale długość wartości pozostanie równa dla wszystkich kolumn. Pierwsza kolumna „Grupa” zawiera typy ciągów, które są „x”, „x”, „x”, „y”, „y”, „y”, „z”, „z” i „z„ z ". Druga kolumna „zadanie” ma wartości liczb całkowitych; „4”, „5”, „6”, „4”, „5”, „6”, „4”, „5” i „6”. W ostatniej kolumnie „Score” określiliśmy wartości jako „13”, „18”, „3”, „9”, „11”, „15”, „5”, „14” i „21”.

„PD.Metoda dataFrame () ”wygeneruje ramkę danych z tymi dostarczonymi wartościami. Aby przechowywać zawartość tegoframki danych, stworzyliśmy obiekt DataFrame, „konkurencja”. Ten obiekt powstrzyma odcinek danych, który ma być później używany. Następnie, aby go zobaczyć, stosuje się metodę Pythona, czyli „print ()”. Metoda „print ()” przyjmie obiekt DataFrame „konkurencja” jako dane wejściowe i wystawi swoją zawartość w oknie wyjściowym.

Aby wykonać skrypt, musimy po prostu nacisnąć opcję „Uruchom plik”, a wyjście zostanie wyświetlone. Tutaj otrzymamy ramkę danych z 3 kolumnami, które trzymają 9 wierszy. Widzimy, że kolumna „grupy” ma trzy unikalne wartości, które to „X”, „Y” i „Z”. Kolumna „zadania” zawiera również trzy różne wartości „4”, „5” i „6”.

Stąd, aby przekształcić tę długą ramkę danych do szerokiej, zastosujemy funkcję dostarczaną przez pandę „PD.sworzeń()". Przywołaliśmy „PD.metoda PIVOT () ”i przekazała 4 parametry, które są„ df ”,„ indeksem ”,„ kolumn ”i„ wartości ”. „DF” to nazwa DataFrame, którą podaliśmy jako „konkurencja”. „Indeks” weźmie udział w kolumnie, która musi być używana jako kolumna indeksu. Tutaj określiliśmy kolumnę „grupy” jako „indeks”. Atrybut „Kolumny” otrzymuje kolumnę, której dane będzie używać jako etykiet kolumnowych. Podaliśmy kolumnę „zadanie” dla atrybutu „kolumny”. Przyjmie wyraźne wartości z „zadania” i sprawi, że kolumny. „Wartości” wyodrębnią wartości z dostarczonej kolumny, i.mi., kolumna „wyniku” i umieść je w utworzonych kolumnach odpowiadających indeksie dla tych wartości. Wynik zostanie przedstawiony przez wywołanie funkcji „print ()”.

Tutaj widzimy, że odrębne wartości kolumny „grupy” są ustawiane jako kolumna indeksu, unikalne wartości z kolumny „zadania” są używane jako tytuły kolumn, a wartości są pobierane z kolumny „Wynik”. Rama danych jest rozumiana w szerokim formacie poprzez zerwanie go z długiego układu.

Przykład 2: Wykorzystanie metody pandas mott () do przekształcenia ramki danych z szerokich do długiego

Powyższa technika przekształciła ramkę danych od długich do szerokości; Zobaczymy jego przeciwieństwo, co przekształca ramkę danych z szerokiego formatu w długą. W tym przypadku zatrudni pand „PD.Melt () ”funkcja przekształcenia naszego dostarczonego ramki danych w długi format.

Aby wdrożyć tę metodę, początkowo musimy skonstruować ramkę danych. Ponieważ pandy oferują nam wbudowaną metodę „PD.DataFrame () ”, aby wygenerować ramkę danych. Więc wywołaliśmy tę funkcję i zainicjowaliśmy ją z 5 kolumnami. Kolumny są „token” z sygnałem danych String, „Car”, „Truck”, „Bus” i „Motorbike” z danych danych całkowitych. Wartości kolumny „token” to „P01”, „P02”, „P03” i „P04”. W kolumnie „samochód” wartości to „18”, „41”, „39” i „24”. Lista wartości „11”, „33”, „17” i „25” są przechowywane w kolumnie „ciężarówka”. „Bus” ma te wartości „42”, „38”, „10” i „21”. Ostatnia kolumna „Motorbike” zawiera wpisy „16”, „34”, „21” i „45”.

Aby zachować ramkę danych, wygenerowaliśmy obiekt DataFrame, „Transport”. Aby umieścić tę zawartość na widoku, metoda „print ()” jest wywoływana z obiektem DataFrame jako wejścia.

Nasza oprawa danych z szerokim układem wartości jest pokazana na konsoli Python o 5 kolumnach i 4 wierszy.

W tej demonstracji będziemy wykonywać „PD.Metoda melt () ”w celu osiągnięcia oczekiwanego wyniku.

„PD.Funkcja melt () ”jest wywoływana. Tutaj ma atrybut, który posiada, to „nazwa df_name”, którą dostarczyliśmy jako „transport”, a „id_vars” przyjmuje kolumnę, która będzie używana jako identyfikator, wokół którego stopimy frame DataFrame. Wybraliśmy kolumnę „token” dla „id_var”. „Value_Var” otrzymuje kolumny, które musi się rozpakować; Jeśli nie określamy kolumn, weźmie to we wszystkich kolumnach, z wyjątkiem jednego zestawu jako identyfikator. Tak więc kolumny, które dostarczyliśmy, aby zmodyfikować „samochód”, „ciężarówka”, „autobus” i „motocykl”. Utworzyliśmy zmienną „transport” i przypisaliśmy ją wyjście wygenerowane przez wywołując „PD.Funkcja melt () ”. Wreszcie, wynik jest prezentowany za pomocą metody „print ()”.

Przekształcona ramka danych została wyświetlona przez przekształcenie go w długi format. Długa strumienia danych ma 3 kolumny „token”, „zmienna” i „wartości”. „Token” jest używany jako identyfikator dla reszty wartości kolumny. „Zmienna” przechowuje etykiety kolumny w korespondencji do identyfikatora. a „wartość” ma wartości dla każdego wpisu.

Wniosek

Może istnieć sytuacja, w której kształt ramki danych może nie pasować do twojego zadania. Rama danych może znajdować się w długim formacie lub szerokim formacie. Szerokie sformatowane ramkę danych można przekształcić w długą, a długą sformatowaną ramkę danych można zmodyfikować w długim układzie, stosując metody PandaS. Aby przekonwertować ramkę danych na szeroki format, zastosowaliśmy „PD.funkcja Pivot () ”poprzez praktyczne wdrożenie go na narzędziu Spyder. Podobnie, aby przekształcić szeroko zakrojony ramkę danych do długiego, zastosowaliśmy „PD.Funkcja melt () ”w 2Nd przykład. Obie te metody są wykonywalne i bardzo pomocne, gdy tylko znajdziesz potrzebę przekształcenia ramki danych.