Jak wybrać lub filtrować rzędy danych danych w pandy?
Po pierwsze, przekonwertujemy danych wartości opartych na danych na DateTime64; Następnie użyjemy innych metod (takich jak DataFame.loc []) Aby wybrać lub odfiltrować daty między dwiema datami. Początkowo daty danych można podawać lub reprezentować na różne sposoby, takie jak Strings, NP.DateTime64 i DateTime.Datetime. Za pomocą PD.Do metody dateTime () w pandy możemy manipulować datami, przekształcając datę danych w formacie DATETIME64.
Składnia:
Parametry:
Arg: Może to być zmiennoprzecinek, lista, ciąg, liczba całkowita lub danych do przekonwertowania na datetime.
Błędy: Wartość można określić jako podnoszenie, zmuszanie lub ignorowanie. Gdy słownik, taki jak maper, kolumny lub rzędny, zawiera etykiety nieobecne w konwersji indeksu, podnieś Keyerror, jeśli używane jest „podniesienie”. Ustaw, aby domyślnie zignorować.
Dayfirst: Domyślnie ustawione jako fałsz. Jeśli to prawda, wartość logiczna umieszcza przede wszystkim.
PRZEZ PRZEDSTAWY: Jeśli to prawda, wartość logiczna zajmuje rok. Fałsz jest wartością domyślną;
UTC: Ograniczona wartość. Wyświetl bieżący standard czasu podstawowego czasu (UTC), jeśli jest to prawdziwe.
format: Pozycja roku, miesiąca i dnia jest określana za pomocą danych wejściowych. Domyślnie nie jest to żadne
ellunt_DateTime_formatbool: Jeśli jest to prawda i nie jest określony format, spróbuj wnioskować o formacie ciągu/czasu z pierwszego elementu, który nie jest zerowy. Fałsz jest wartością domyślną.
W przykładach samouczka zastosujemy następującą strategię do wyboru informacji z rzędów opartych na datach w ramce danych między dwiema datami:
Przykład nr 1: Wartości oparte na datach filtrów za pomocą DataFrame.Funkcja loc []
Będziemy filtrować dane oparte na datach za pomocą „DataFrame.Funkcja loc [] ”. Aby uzyskać dostęp do grupy kolumn i rzędów ramki danych za pomocą nazwy kolumn, indeksów lub tablicy boolowskiej, używana jest funkcja „loc []”. Warunkowe wyrażenie w zmiennej LOC [] w tym przykładzie zwraca tablicę logiczną o wartości prawdziwej, jeśli wiersz spełnia warunek i fałsz, jeśli warunek nie spełnia. Tylko te rzędy z prawdziwymi wartościami są zwracane za pomocą metody LOC []. Utwórzmy najpierw ramkę danych, aby jasno zrozumieć ten przykład.
Utworzyliśmy ramkę danych, przekazując słownik w PD.Funkcja dataFrame () po zaimportowaniu modułów pandy. W naszej ramce danych istnieją dwie kolumny, których nazwy są określone jako „zadania” i „data”. Kolumna „zadania” składa się z danych liczb całkowitych (3, 2, 6, 1, 4, 5, 2, 1, 3, 4), a kolumna „daty” składa się z dat opartych na datach („2022-01- 05 ”,„ 2022-01-15 ”,„ 2022-02-01 ”,„ 2022-02-10 ”,„ 2022-03-20 ”,„ 2022-03-30 ”,„ 2022-04-12 ” , „2022-04-24”, „2022-05-15”, „2022-05-25”). Aby wyświetlić naszą danych, użyjemy funkcji print ().
Teraz sprawdźmy typ danych naszych kolumn, wykorzystując atrybut „DTypes”.
Jak można zauważyć, danych typu „zadań” kolumny to INT64, ale kolumna „data” ma danych „obiekt”. Jak wspomniano powyżej, musimy przekonwertować danych kolumn z datami do datetime64. Aby zmienić danych z kolumny „daty”, zostanie zastosowana metoda To_DateTime ().
Przekazaliśmy kolumnę „dat” w funkcji To_DateTime () jako argument i określiliśmy format jako dni w wieku. Po zmianie danych kolumny „data” przypisaliśmy go do kolumny „dat” naszej „df” danych danych. Korzystając z atrybutu DTypes, możemy sprawdzić, czy danych danych jest zmieniany na „DateTime64”, czy nie.
Ponieważ danych danych został teraz zmieniony, możemy użyć metody LOC [] do filtrowania wymaganych wierszy.
Wewnątrz DF.Metoda loc [], stworzyliśmy wyrażenie/warunek, aby wybrać tylko te wiersze, w których data jest większa lub równa „22-02-01” i mniej niż „2022-04-24”. Tak więc wiersze z indeksu 2 do 6 są spełnione przez warunek, jak pokazano na wyjściu.
Przykład nr 2: Wartości oparte na datach filtrów za pomocą różnych atrybutów z DataFrame.Funkcja loc []
W przykładzie nr 1 przefiltrowaliśmy wiersze oparte na datach za pomocą funkcji LOC []. W tym przykładzie użyjemy różnych atrybutów z funkcją LOC [], aby wybrać określone wiersze oparte na datach.
Pierwszy krok będzie taki sam; Konwertujemy danych z kolumny „data” na „DateTime64” za pomocą funkcji To_DateTime ().
Po zmianie danych na „DateTime64”, użyjemy funkcji LOC [], aby wybrać wiersze między dwiema datami.
Stworzyliśmy warunek wyboru danych w datach, które są równe lub większe niż „2022-04-10” i mniej niż „2022-06-15”. Dostaliśmy cztery rzędy o datach („2022-04-12”, „2022-04-24”, „2022-05-15” i „2022-05-25”), które spełniły warunek warunek. Możemy dalej odfiltrować wyjście do określonej godziny, daty, tygodnia, miesiąca, roku itp., Korzystając z datetime ”.atrybut dt ”z dataframe.Metoda loc []. Załóżmy, że musimy wybrać wiersz z datą „15” z niedawno wygenerowanego wyjścia „DF” z czterema wierszami.
Określiliśmy DT.dzień == 15 Aby pobrać dane przechowywane w wierszu, mając datę „15”. Otrzymaliśmy wiersz „indeks 8” jako wyjście, ponieważ data wynosi 15 w tym wierszu. Teraz użyjmy „.Między „atrybutem” do wyboru określonych wierszy między dwiema datami w naszej ramce danych (utworzone w przykładzie nr 1).
Korzystając z „.Pomiędzy () ”funkcją określliśmy daty między„ 2022-01-15 ”a„ 2022-03-30 ”, aby wygenerować wyjście.
Przykład nr 3: Wartości oparte na datach filtrów za pomocą .Funkcja zapytania ()
Teraz zobaczymy, w jaki sposób DataFrame.Funkcja Query () działa, aby wybrać określone wiersze oparte na datach z DataFrame. W tym przykładzie zostanie użyta ta sama „DF” DataFrame, którą utworzyliśmy w przykładzie nr 1. Najpierw przekonwertujemy danych z kolumny „data” na „DateTime64”, jak to zrobiliśmy w poprzednich przykładach.
Teraz użyjemy funkcji zapytania () do wyboru wierszy między datami.
Warunkiem wewnątrz zapytania (), jak pokazano powyżej, polega na wyborze danych w datach, które są równe lub większe niż „2021-12-30” i mniej niż „2022-01-15”. Domyślnie kolumny DataFrame są umieszczane w przestrzeni nazw zapytania, umożliwiając dostęp do kolumny daty bez określenia nazwy kolumny.
Są to wiersze zawierające dane w terminie, które spełniają warunek.
Wniosek
W tym samouczku omówiliśmy, jak wybrać rzędy oparte na datach między datami w pandy. Widzieliśmy składnię pandy.To_DateTime () funkcja, której użyliśmy do konwersji danych kolumny opartej na datach na dateTime64. Wdrożyliśmy przykłady, aby nauczyć Cię, jak korzystać z DataFrame.Funkcja loc [], jak używać różnych atrybutów z dataframe.Funkcja loc [] i jak korzystać z .Funkcja Query (), aby wybrać dane z rzędów opartych na datach między dwiema datami.