Uzyskaj rzędy Pandas DataFrame na podstawie indeksu

Uzyskaj rzędy Pandas DataFrame na podstawie indeksu

Zasadniczo Pandas DataFrame ma dwa wskaźniki. Wskaźniki te wyróżniają się przez ich oś. Indeks wierszy to indeks znajdujący się wzdłuż osi 0 (poziomy), podczas gdy indeks kolumny jest indeksem znajdującym się wzdłuż osi 1 (pionowy).

W tym artykule użyjemy funkcji ILOC [] i LOC [], aby uzyskać wiersze z DataFrame. Musimy określić zakresy wierszy i kolumn (lokalizacje uruchom i kończą wzdłuż kolumn lub wierszy). Indeksowanie oparte na lokalizacji można wykorzystać do zapytania o pandasframe.

Składnia - ILOC []

Pandy.DataFrame_Object.I loc[]

Parametr

Pozycja indeksu: Numer indeksu wierszy (numeryczny) lub lista liczb całkowitych.

Notatka: Jeśli indeks nie występuje w ramce danych, Indekserorror - „Zgodnie z granicami” zostanie rzucone.

Przykład - odzyskaj określony wiersz

Utwórz nazwa - rzeczywiste_details z 5 wierszami i 2 kolumnami - „klasą”, „syllabus_date” i „godziny”.

Teraz użyj funkcji ILOC [], aby:

  1. Zwróć wiersz obecny na indeksie 2
  2. Zwróć wiersz obecny na indeksie-0
  3. Zwróć wiersz obecny na indeksie-4
importować pandy
# Utwórz ramkę danych, która ma 5 wierszy z 2 kolumnami
rzeczywiste_details = pandy.DataFrame („klasa”: [„Open source”, „Linux”, „Algorytmy”, „Botany”, „Social Studies”],
„Godziny”: [12,8,9,12,12])
Drukuj (rzeczywiste_details.ILOC [2])
wydrukować()
Drukuj (rzeczywiste_details.ILOC [0])
wydrukować()
Drukuj (rzeczywiste_details.ILOC [4])

Wyjście

Algorytmy klasowe
Godziny 9
Nazwa: 2, Dtype: Obiekt
klasa typu open source
Godziny 12
Nazwa: 0, Dtype: Obiekt
Klasowe studia społeczne
Godziny 12
Nazwa: 4, Dtype: Obiekt

Wyjaśnienie

  1. W INDEX-2 „klasa” to „algorytmy”, a „godziny” to „9”.
  2. W INDEX-0 „klasa” to „open source”, a „godziny” to „12”.
  3. W INDEX-4 „klasa” to „studia społeczne”, a „godziny” to „12”.

Scenariusz 1 - Odzyskaj wiele wierszy

Może być możliwe pobieranie wielu wierszy jednocześnie za pomocą ILOC []. Musimy przekazać wskaźniki wiersza na liście do ILOC [].

Składnia

Pandy.DataFrame_Object.ILOC [[indeks1, indeks2,…]]

Przykład

Utwórz nazwa - rzeczywiste_details z 5 wierszami i 2 kolumnami - „klasą”, „syllabus_date” i „godziny”.

Teraz użyj ILOC [], aby zwrócić wiersze obecne w indeksie 2,0 i 4.

Importować pandy
# Utwórz ramę danych, która ma 5 wierszy z 2 kolumnami
rzeczywiste_details = pandy.DataFrame („klasa”: [„Open source”, „Linux”, „Algorytmy”, „Botany”, „Social Studies”],
„Godziny”: [12,8,9,12,12])
# Odzyskaj wskaźniki wiersza 2,0 i 4
Drukuj (rzeczywiste_details.ILOC [[2,0,4]])

Wyjście

godziny zajęć
2 algorytmy 9
0 Open source 12
4 Studia społeczne 12

Scenariusz 2 - pobieraj wiele wierszy z określonymi kolumnami

Czasami chcemy pobrać dane tylko dla określonych kolumn zamiast pobierania wierszy danych ze wszystkimi kolumnami w danej ramce danych. Podobnie jak indeksy wierszy w PandaS DataFrame, pozycja kolumny służy również jako indeks kolumny.

Składnia

Pandy.DataFrame_Object.ILOC [[indeks1, indeks2,… .]]

Przykład

Utwórz Pandy DataFrame NAM-D - rzeczywiste_details z 5 rzędami i 2 colum -S - „klasą”, „syllabus_date” i „godziny”.

Teraz użyj funkcji ILOC [], aby zwrócić wiersze obecne w indeksie 2,0 i 4 dla klasy kolumnowej i godzin osobno.

importować pandy
# Utwórz ramę danych, która ma 5 wierszy z 2 kolumnami
rzeczywiste_details = pandy.DataFram '(' cl'ss '' ['Open Sou'c ",„ li'u ",„ algoryt'm ”,„ bot'n ”,„ społeczny stud'es ”],
„Ho'rs”: [12,8,9,12,12])
# Odzyskaj wskaźniki wiersza 2,0 i 4 dla kolumny klasy
Drukuj (rzeczywiste_details.ILOC [[2,0,4], [0]])
wydrukować()
# Odzyskaj wskaźniki wiersza 2,0 i 4 za godzinę kolumny
Drukuj (rzeczywiste_details.ILOC [[2,0,4], [1]])

Wyjście

klasa
4 2 Open source Algoryt
4 Studia społeczne
godziny
4 2 12
4 12

Wyjaśnienie

Widać, że wiersze zostały zwrócone tylko dla określonej kolumny. Tutaj klasa reprezentuje indeks-0, a godziny reprezentują indeks-1.

Podobnie jak funkcja ILOC [], możemy określić zakresy lub wiele etykiet jako listę wewnątrz funkcji LOC [], aby pobrać wiele wierszy.

Synt -x - loc []

Pandy.DataFrame_Object.loc []

Parametr

Indeks: Etykieta indeksowa wierszy lub listy etykiet.

Przykład -1 - odzyskaj określony wiersz

Utwórz Pandy DataFrame NAM-D - rzeczywiste_details z 5 rzędami i 2 colum -s - „klasą”, „syllabus_date” i „godziny” wraz z wskaźnikami jako [„c1”, „c2”, „c3”, „c4”, „c5”].

Teraz użyj funkcji ILOC [], aby:

  1. Zwróć wiersz obecny w „C3”
  2. Zwróć wiersz obecny w „C1”
  3. Zwróć wiersz obecny w „C5”
importować pandy
# Utwórz ramę danych, która ma 5 wierszy z 2 kolumnami
rzeczywiste_details = pandy.DataFrame („klasa”: [„Open source”, „Linux”, „Algorytmy”, „Botany”, „Social Studies”],
„Godziny”: [12,8,9,12,12], indeks = [„C1”, „C2”, „C3”, „C4”, „C5”]))
# Odzyskaj wskaźniki wiersza - „c3”, „c1” i „c5” osobno
Drukuj (rzeczywiste_details.loc ['c3'])
wydrukować()
Drukuj (rzeczywiste_details.loc ['c1'])
wydrukować()
Drukuj (rzeczywiste_details.loc ['c5'])

Wyjście

Algorytmy klasowe
Godziny 9
Nazwa: C3, Dtype: Obiekt
klasa typu open source
Godziny 12
Nazwa: C1, Dtype: Obiekt
Klasowe studia społeczne
Godziny 12
Nazwa: C5, Dtype: Obiekt

Wyjaśnienie

  1. Na indeksie-'c3 'klasa to „algorytmy”, a „godziny to 9.
  2. Na indeks-'c1 'klasa to „open source”, a „godziny” to 12.
  3. Na indeksie-'c5 'klasa to „studia społeczne”, a „godziny” to 12.

Przykład 2 - Odzyskaj wiele wierszy

Utwórz nazwa - rzeczywiste_details z 5 wierszami i 2 kolumnami - „klasą”, „syllabus_date” i „godziny” wraz z indeksami jako [„c1”, „c2”, „c3”, „c4”, „c5”].

Teraz użyj funkcji ILOC [], aby zwrócić wiersz obecny w „C3”, „C1” i „C5”.

importować pandy
# Utwórz ramę danych, która ma 5 wierszy z 2 kolumnami
rzeczywiste_details = pandy.DataFrame („klasa”: [„Open source”, „Linux”, „Algorytmy”, „Botany”, „Social Studies”],
„Godziny”: [12,8,9,12,12], indeks = [„C1”, „C2”, „C3”, „C4”, „C5”]))
# Odzyskaj wskaźniki wiersza - „c3”, „c1” i „c5” na raz
Drukuj (rzeczywiste_details.loc [['c3', 'c1', „c5 ']])

Wyjście

godziny zajęć
Algorytmy C3 9
C1 Open Source 12
C5 Social Studies 12

Przykład 3 - pobieraj wiele wierszy za pomocą określonej kolumny

Utwórz nazwa - rzeczywiste_details z 5 wierszami i 2 kolumnami - „klasą”, „syllabus_date” i „godziny” wraz z indeksami jako [„c1”, „c2”, „c3”, „c4”, „c5”].

Teraz użyj funkcji ILOC [], aby zwrócić wiersz obecny w „c3”, „c1” i „c5” tylko dla kolumny „klasy”.

importować pandy
# Utwórz ramkę danych, która ma 5 wierszy z 2 kolumnami
rzeczywiste_details = pandy.DataFrame („klasa”: [„Open source”, „Linux”, „Algorytmy”, „Botany”, „Social Studies”],
„Godziny”: [12,8,9,12,12], indeks = [„C1”, „C2”, „C3”, „C4”, „C5”]))
# Pobieraj wskaźniki wiersza - „c3”, „c1” i „c5” na czas dla kolumny klasowej
Drukuj (rzeczywiste_details.loc [['c3', 'c1', 'c5'], ['class']])

Wyjście:

klasa
Algorytmy C3
C1 Open Source
C5 Studia społeczne

Wyjaśnienie

Widać, że wiersze zostały zwrócone tylko dla określonej kolumny, i.mi., klasa.

Wniosek

W tym artykule omówiliśmy, jak uzyskać wiersze danych za pomocą indeksu w pandy. Po przejrzeniu tego artykułu możesz być w stanie odzyskać wiersze danych za pomocą różnych funkcji. Wdrożyliśmy kilka przykładów, aby nauczyć Cię, jak korzystać z funkcji ILOC [] do pobierania pojedynczych lub wielu wierszy z ramki danych według indeksu numerycznego i funkcji loc [], aby uzyskać pojedyncze lub wiele wierszy z ramki danych przez indeks nie-numeryczny.