Jak ustawić ramkę danych według jednej lub wielu kolumn?

Gdy próbujesz zrozumieć dużą ramkę DataFrame w Pandas, możesz potrzebować podzbiorów według kolumn i wierszy. W tym samouczku pokażemy najbardziej rozpowszechnione przypadki użycia partycjonowania kolumn w DataFrame.

Zaczniemy od skonfigurowania naszego przykładowego DataFrame, co zrobimy, uruchamiając następujący kod Pythona w naszym ulubionym środowisku (dla uproszczenia używam Anacondy i Jupyter Lab).

import pandas as pd # import the pandas library

languages = ({"language": [ "Python", "C-Sharp", "Javascript","PHP"] ,
         "avg_difficulty_level": [3, 2, 2, 1],
              "avg_salary": [120, 100, 120, 80],
          "applications": [10,15,14,20]})

# Now let's convert our dict to a DataFrame

languages = pd.DataFrame.from_dict(languages)

Przyjrzyjmy się teraz naszym pierwszym wierszom Dataframe za pomocą metody head().

languages.head()

Jak widać, jest to dość prosta ramka DataFrame, której użyjemy jako przykładu w tym poście:

  język avg_difficulty_level średnia_wynagrodzenie Aplikacje
0 Pyton 3 120 10
1 C-Sharp 2 100 15
2 JavaScript 2 120 14
3 PHP 1 80 20

Filtrowanie pojedynczej kolumny

Zaczniemy od najprostszego przypadku, który polega na podzbiorze jednej kolumny z naszego zbioru danych. Uruchomienie następującego polecenia spowoduje utworzenie obiektu serii:

Według nazwy / etykiety

languages["language"]

Wynikiem jest seria:

0 Pythona
1 C-ostry
2 Javascript
3 PHP
Nazwa: język, dtype: obiekt
type(languages["language"])

pandas.core.series.seria

Według indeksu

Następujące polecenie zwróci również serię zawierającą pierwszą kolumnę

languages.iloc[:,0]

Zaznaczanie wielu kolumn

Wg nazwy

Podczas przekazywania listy kolumn Pandy zwrócą ramkę DataFrame zawierającą część danych.

languages[["language", "applications"]]
  język Aplikacje
0 Pyton 10
1 C-Sharp 15
2 JavaScript 14
3 PHP 20

Według etykiety (z loc)

df.loc[:,["language","applications"]]

Wynik będzie podobny.

Według indeksu

Teraz pobierzmy wiele kolumn za pomocą indeksu:

languages.iloc[: ,[0,3]]
  język Aplikacje
0 Pyton 10
1 C-Sharp 15
2 JavaScript 14
3 PHP 20

Według warunku

W tym przypadku pokażemy tylko kolumny, których nazwa odpowiada określonemu wyrażeniu. Użyjemy całkiem przydatnej metody filtrowania :

languages.filter(axis = 1, like="avg")

Uwagi:

  1. możemy również filtrować według określonego wyrażenia regularnego (regex).
  2. Możemy zastosować parametr axis=0 do filtrowania według określonej wartości wiersza.

Filtruj określone wiersze według stanu

Oto całkiem prosty sposób na podzbiór DataFrame zgodnie z wartością wiersza:

languages[(languages["applications"] > 15)]

Mamy tylko jeden wynik:

languages[(languages["applications"] > 15)]
  język avg_difficulty_level średnia_wynagrodzenie Aplikacje
3 PHP 1 80 20

Imbir 2.7.53.0

Imbir 2.7.53.0

Ginger to darmowy moduł do sprawdzania pisowni i gramatyki.

Bloki

Bloki

Blocks to intelektualna gra przeznaczona dla uczniów klas trzecich szkół podstawowych, służąca ćwiczeniu umiejętności wykrywania i wzroku. Nauczyciele objęli ją programem wspierania nauczania informatyki.

Prezi 6.26

Prezi 6.26

Prezi to darmowa aplikacja, która umożliwia tworzenie cyfrowych prezentacji, zarówno online, jak i offline.

Mathway

Mathway

Mathway to bardzo przydatna aplikacja, która pomoże Ci rozwiązać wszystkie problemy matematyczne, które wymagają bardziej złożonego narzędzia niż kalkulator wbudowany w Twoje urządzenie.

Prezenter Adobe

Prezenter Adobe

Adobe Presenter to oprogramowanie do e-learningu wydane przez firmę Adobe Systems, dostępne na platformie Microsoft Windows jako wtyczka Microsoft PowerPoint.

Tukan 2.3.0

Tukan 2.3.0

Toucan to edukacyjna platforma technologiczna. Pozwala nauczyć się nowego języka podczas przeglądania popularnych, codziennych stron internetowych.

ENetViet 24.2

ENetViet 24.2

eNetViet to aplikacja, która pomaga rodzicom połączyć się ze szkołą, w której uczą się ich dzieci, aby mogli lepiej zrozumieć aktualną sytuację edukacyjną swojego dziecka.

Duolingo

Duolingo

Duolingo - Ucz się języków za darmo, czyli po prostu Duolingo, to program edukacyjny, który pozwala uczyć się i ćwiczyć wiele różnych języków.

Szybkie pisanie

Szybkie pisanie

RapidTyping to wygodne i łatwe w użyciu narzędzie do nauki obsługi klawiatury, które pomoże Ci poprawić szybkość pisania i zmniejszyć liczbę błędów ortograficznych. Dzięki lekcjom zorganizowanym na wielu różnych poziomach RapidTyping nauczy Cię, jak pisać na klawiaturze lub doskonalić istniejące umiejętności.

Typ matematyczny 7.4.10.53

Typ matematyczny 7.4.10.53

MathType to interaktywne oprogramowanie do równań opracowane przez projektanta Design Science (Dessci), które umożliwia tworzenie i dodawanie adnotacji do notacji matematycznej na potrzeby przetwarzania tekstu, prezentacji, e-learningu itp. Ten edytor jest również używany do tworzenia dokumentów TeX, LaTeX i MathML.