Duże zasoby danych są bałaganiarskie, zwłaszcza gdy trzeba je pobierać ze stron internetowych, serwerów lub innych źródeł danych.

Aplikacje oparte na interfejsie użytkownika, takie jak MS Excel, są dobre do radzenia sobie z prostymi zestawami danych, ale mogą mieć problemy, gdy dane stają się większe. To dobry powód, aby przejść do Pythona, aby wykonywać bardziej złożone operacje oparte na danych.

Biblioteka Pythona firmy trzeciej, Pandas, znacznie pomaga w szybkim sortowaniu istniejących zestawów danych. Jeśli chcesz posortować dane w Pythonie, w tym artykule przyjrzymy się kilku sposobom realizacji tego zadania.

Wymagania wstępne dotyczące używania Pythona do sortowania danych

Przed posortowaniem danych w Pythonie musisz zadbać o kilka warunków wstępnych:

  • Pobierz IDE Pythona. Możesz użyć IDE zgodny z Pythonem, takich jak Jupyter Notebook, PyCharm i Spyder, między innymi. Każdy z nich jest kompatybilny ze wszystkimi wersjami Pythona.
  • Zainstaluj pandy. Będziesz potrzebować pakietu pandy, który możesz zainstaluj za pomocą PIP lub preferowaną metodę.
  • instagram viewer
  • Przykładowy zbiór danych. Pobierz przykładowy zbiór danych ćwiczyć wymienione kody. Alternatywnie możesz skorzystać z tych procedur na swoich wyłącznych danych.

Importowanie biblioteki Pandas w Pythonie

Pandas to biblioteka Pythona innej firmy, której można używać do obsługi Excela, CSV i innych formatów danych.

Aby pracować z przykładowym plikiem Excel, zacznij od zaimportowania biblioteki pandy. Następnie użyjesz procedura importu do odczytu danych z Excela do Pythona.

Aby zaimportować bibliotekę

import pandy jak pd

Utwórz nową ramkę DataFrame, aby załadować dane programu Excel

plik = "Próbka - Superstore.xls"
df = pd.read_excel (plik)
df.głowa()

Gdzie:

  • df to obiekt DataFrame, który przechowuje importowane dane.
  • pd to alias biblioteki Pandas.
  • read_excel to metoda odczytu pliku Excel do Pythona.
  • plik to ścieżka do pliku Excel.
  • głowa to metoda, która zwraca pierwsze pięć wierszy z DataFrame.

Gdy program załaduje dane, możesz użyć wielu dostępnych metod DataFrame, aby posortować je na różne sposoby.

1. Sortowanie według pojedynczej kolumny w DataFrame

Ponieważ Twoje dane będą zawierać wiele wierszy i kolumn, często będziesz chciał posortować dane na podstawie określonej kolumny lub kolumn.

Python domyślnie sortuje dane w kolejności rosnącej. Jeśli chcesz zmienić kolejność sortowania, musisz wyraźnie wspomnieć o tym w swoim kodzie.

Sortuj według jednej kolumny (kolejność rosnąco)

df.sort_wartości (według = "Identyfikator klienta")

Sortuj według jednej kolumny (kolejność malejąca)

Ustaw rosnąco parametr do Fałszywy aby posortować kolumnę w kolejności malejącej.

df.sort_wartości (według = "Identyfikator klienta", rosnąco=Fałsz)

Gdzie:

  • df jest obiektem DataFrame zawierającym dane.
  • sort_wartości to metoda sortowania według wartości danych.
  • za pomocą jest parametrem definiującym nazwę kolumny.
  • rosnąco to parametr określający porządek sortowania.

2. Sortowanie wielu kolumn w ramce DataFrame

Jeśli Twoje wymagania tego wymagają, możesz również posortować ramki DataFrame na podstawie wielu kolumn jednocześnie. W takim scenariuszu musisz zdefiniować odwołania do kolumn na liście.

Sortuj według wielu kolumn rosnąco

df.sort_wartości (według = ["Identyfikator klienta", "Miasto"])

Sortuj według wielu kolumn malejąco

Użyj funkcji rosnąco = Fałsz aby posortować kolumny w kolejności malejącej. Pamiętaj, że musisz określić nazwy kolumn na liście, aby je posortować jednocześnie.

df.sort_wartości (według = ["Identyfikator klienta", "Miasto"], rosnąco = Fałsz)

Sortowanie według wielu kolumn w różnych porządkach sortowania

Po zapoznaniu się z podstawami sortowania, co się dzieje, gdy chcesz posortować jedną kolumnę w kolejności malejącej, a drugą w kolejności rosnącej? Musisz nieco poprawić swój kod, aby uwzględnić te wymagania.

Na przykład, aby posortować Region oraz Miasto kolumny w porządku malejącym i rosnącym, odpowiednio:

df.sort_wartości (według = ["Region", "Miasto"], rosnąco = [Fałsz, Prawda])

Wyjaśnienie tego kodu jest proste; definiujesz nazwę DataFrame i przekazujesz sort_wartości funkcji wraz z nazwami kolumn na liście. Powinieneś użyć Boole'a wartości, aby określić porządek sortowania.

Wywołanie funkcji w ten sposób oznacza, że ​​Python będzie najpierw sortował według kolumny Region DataFrame w kolejności malejącej. Następnie wiersze z identycznym regionem będą dalej sortowane według kolumny Miasto w kolejności rosnącej.

3. Jak sortować kolumny w DataFrame według indeksu

Zmienna index jest domyślną wartością przypisaną do każdego wiersza w Python Dataframe. Możesz zdefiniować wartości indeksu lub pozwolić Pythonowi na samodzielne ustawienie wartości indeksu.

Aby posortować dane według ich wartości indeksu, możesz użyć sort_index funkcjonować. Ta funkcja sortuje na podstawie indeksu, a nie wartości zawartych w oryginalnym zestawie danych.

df.sortowanie_indeksu()

Podobnie jak w przypadku sort_values, możesz przekazać rosnąco parametr, aby określić kierunek sortowania. Na przykład przekaż wartość Fałszywy aby posortować dane w kolejności malejącej:

df.sort_index (rosnąco = Fałszywy)

4. Sortowanie kolumn w ramce danych zamiast wierszy

Zamiast sortować wiersze w ramce DataFrame, możesz sortować jej kolumny. Możesz to zrobić, wywołując metodę sort_index i przekazując ją an parametr o wartości 1:

df.sort_index (oś=1)

Ten krok sortuje ramkę DataFrame według jej kolumn w kolejności rosnącej. Aby posortować kolumny DataFrame w kolejności malejącej, możesz określić kolejność sortowania w kroku sortowania.

df.sort_index (oś=1, rosnąco = Fałszywy)

5. Modyfikowanie DataFrame podczas sortowania

Dwie metody sortowania działają poprzez zwrócenie kopii oryginalnych danych w ich nowo posortowanym stanie. Aby zaoszczędzić miejsce na dysku lub po prostu napisać bardziej zwięzły kod, możesz zamiast tego zmodyfikować oryginalne dane DataFrame. Każda metoda akceptuje w miejscu parametr logiczny, który modyfikuje dane zamiast zwracać zmodyfikowaną kopię.

df.sort_wartości (według = ["Identyfikator klienta", "Miasto"], rosnąco = False, inplace = True)

Nauka sortowania danych w Pythonie

Python replikuje wiele wbudowanych funkcji programu Excel za pomocą kilku linijek kodu. Od procedur sortowania po tworzenie skomplikowanych tabel przestawnych na swoich danych, możesz je nazwać i możesz to zrobić w Pythonie.

Jeśli nadal jesteś nowicjuszem w Pythonie i uczysz się podstaw, te kroki stosunkowo łatwo poprawią twoje umiejętności kodowania.