Jak zmienić danych typu kolumny w pandy
Do zmiany danych kolumn można użyć różnych funkcji w pandy. W poniższych przykładach szczegółowo wyjaśnimy, w jaki sposób możesz zmienić dane danych kolumn w DataFrame.
Przykład 1: Korzystanie z DataFrame.funkcja istype ()
Aby utworzyć przykładową ramkę danych, najpierw zaimportujemy pandy jako PD, aby użyć funkcji dostarczonych przez niego. Aby zademonstrować działanie funkcji Astype (), tworzymy ramkę danych z trzema kolumnami różnych typów danych. Za pomocą DataFrame.Metoda ASTYPE (), możemy przekonwertować obiekt panda na wymagany Dtype. Dodatkowo ta metoda umożliwia użytkownikom zmianę dowolnej kolumny (odpowiedniej) danych danych na typ kategorii.
Jak widać na poprzedniej ilustracji, stworzyliśmy trzy kolumny: x, y i z. Gdzie kolumna x składa się z wartości int i ciągu [„2”, 4, 6, „8” i 10], kolumna y ma tylko wartości ciągów [„p”, „q”, „r”, „s”, „T”], a kolumna Z składa się z wartości pływaków i ciągów. Aby wyświetlić typ danych każdej kolumny w naszej ramce danych, używany jest atrybut Dtypes. Atrybut „Dtypes” można użyć do określenia typu danych w PandaS DataFrame, serii zawierającej typy danych każdej kolumny zwróconej przez atrybut.
Jak widać na ilustracji Pevious, typ danych każdej kolumny jest pokazany jako „obiekt”. Jak można zauważyć, w każdej kolumnie (x, y i z) jest co najmniej jedna wartość łańcucha. Tak więc atrybut DTYPE uważa danych danych każdej kolumny za „obiekt”. Teraz zmieńmy typ danych kolumny X za pomocą funkcji asyPepe ().
Przypisaliśmy danych INT do kolumny X naszej „DF” DataFrame i przypisaliśmy nową ramkę danych do zmiennej o nazwie „DF”. Teraz możemy sprawdzić, używając atrybutu Dtypes, czy typ danych kolumny X jest zmieniany, czy nie.
Można zauważyć, że typ danych kolumny X jest zmieniany z obiektu na „INT32”. Możesz zdefiniować pojedynczy typ danych dla całej ramki danych lub osobno do każdej kolumny DataFrame przy użyciu słownika Python. Podajmy różne dane danych do każdej kolumny z ramki danych za pomocą słownika.
W poprzednim słowniku określiliśmy kolumnę danych „INT” do x do X, DataType „String” do Y i DataType „Float” do kolumny z ramki danych „DF”. Korzystając z atrybutu DTypes, sprawdźmy bieżące tytułowe kolumny X, Y i Z.
Danych danych z każdej kolumny są skutecznie zmienione. Możemy również użyć funkcji ASTYPE (), aby określić pojedynczy danych do wszystkich kolumn naszej strumienia danych.
Zastosowaliśmy metodę istype () do naszego „DF” i przekazaliśmy danych „string” jako argument, aby zmienić danych z każdej kolumny na „obiekt”.
Przykład 2: Za pomocą funkcji to_numeric ()
Apply () umożliwia nam konwersję typu danych określonych lub wszystkich kolumn na int/float, dateTime lub czas delta, przekazując opcje „Pandy.to_numeric ”,„ Pandy.to_dateTime ”i„ Pandy.to_timedelta ”. W zależności od wartości obecnych w kolumnie funkcja to_numeric () zmienia danych typu kolumny DataFrame na INT lub Float. Zestaw danych kolumny został zmieniony na „int64”, jeśli zawiera tylko liczby liczb całkowitych. Data danych kolumny jest konwertowana na „float64” za pomocą TO_NUMERIC (), jeśli zawiera wartości z punktami dziesiętnymi. Aby wyjaśnić to za pomocą przykładu, utwórzmy ramkę danych z String DataType, ale używamy wartości liczb całkowitych jako „ciągów”.
Najpierw importujemy moduły pand i numpy. Następnie tworzymy ramkę danych za pomocą PD.Funkcja dataFrame (). Wewnątrz PD.Funkcja DataFrame, przechodzimy trzy listy: [„1”, „2”, „3”], [„4”, „5”, „6”] i [„7”, „8”, „9” ]. Nazwy kolumn są określone jako „x”, „y” i „z”. Atrybut DTypes służy do przeglądania danych typu kolumn x, y i z.
Obecnie typem danych z każdego wiersza jest „obiekt”. Teraz używamy funkcji To_Numeric (), aby zmienić jej danych.
Jak wspomniano wcześniej, jeśli kolumny zawierają liczby dziesiętne, funkcja to_numeric () automatycznie zmienia danych na „int64”. Sprawdźmy, czy dane danych są zmieniane, czy nie.
Ponieważ używaliśmy liczb dziesiętnych jako wartości „ciąg” w „DF” DataFrame, funkcja To_Numeric () z powodzeniem przekonwertowała je na „INT64”. Co jeśli istnieje kolumna z wartościami zmiennoprzecinkowymi jako „ciąg” wewnątrz „DF” DataFrame? Czy funkcja to_numeric () zmieni swój danych na „float64”? Aby odpowiedzieć na to pytanie, dodajemy kolejną kolumnę z wartościami zmiennoprzecinkowymi jako „ciąg” w niedawno utworzonym „DF” DataFrame.
Dodaliśmy kolejną kolumnę do naszej „DF” i określliśmy nazwy kolumn jako W, X, Y i Z. Nowo dodana kolumna Z składa się tylko z wartości punktów dziesiętnych jako „ciąg”. Zastosujmy funkcję to_numeric (), aby zobaczyć wyniki.
Data danych kolumn o liczbach bez dziesiętnej jest konwertowana na „int64” i liczbę dziesiętną do „float64” za pomocą funkcji to_numeric ().
Przykład 3: Korzystanie z funkcji Convert_dtypes ()
W poprzednich dwóch przykładach zmieniliśmy danych danych kolumn DataFrame przy użyciu funkcji ASTYPE () i TO_NUMERIC (). Możemy również zmienić danych kolumn w naszej ramce danych za pomocą funkcji Convert_DTypes (). Po ocenie danych metoda Convert_DTypes () zwraca nową ramkę danych wraz z przeliczonym typem danych każdej kolumny na najlepszy (zoptymalizowany) danych danych. Aby zrozumieć funkcję Convert_dtypes (), najpierw utwórz przykładową ramkę danych.
Po zaimportowaniu modułu pandas utworzyliśmy dwie listy - „nazwisko” i „student”. Na liście „Nazwa” mamy pewne wartości ciągów i zerowych („Tom”, PD.Na, „Max”, „Tony”). Podczas gdy na liście „studentów” mamy wartości logiczne z niektórymi wartościami zerowymi (prawda, PD.Na, fałszywe, PD.Na). Obie listy przypisaliśmy do zmiennej „Dane”. PD.Funkcja dataFrame () służy do utworzenia w środku, w której zmienna danych jest przekazywana jako argument. Następnie użyliśmy atrybutu DTypes, który podał danych danych wszystkich kolumn w naszej ramce danych. Jak widać na poprzedniej ilustracji, danych danych każdej kolumny w naszej ramce danych jest „obiektem”. Użyjmy funkcji Convert_DTypes (), aby zmienić dane danych kolumn z odpowiednimi danych.
Jak można zobaczyć, funkcja Convert_DTypes () zmieniła dane danych kolumn z najlepszym odpowiednim (zoptymalizowanym) danych. Data danych kolumny „Nazwa” jest zmieniona na „ciąg”, a danych typu „studenckich” kolumn jest zmieniany na boolean.
Wniosek
W tym samouczku przeszliśmy różne sposoby zmiany danych kolumny DataFrame za pomocą różnych funkcji. Próbowaliśmy sprawić, że będziesz w stanie samodzielnie zmienić danych kolumny ramki danych za pomocą funkcji Astype (), To_numeric () i Convert_dtypes (). Wdrożyliśmy wiele przykładów, aby nauczyć Cię, jak korzystać z DataFrame.Astype () funkcja, jak korzystać z funkcji to_numeric () i jak używać funkcji Convert_dtypes (), aby zmienić typ kolumny.