Přejít na hlavní obsah

Jak stáhnout indexy řady: podrobný průvodce pro začátečníky

  • Iveta Blažek
  • Rady

Series – je to jedna z nejoblíbenějších a nejdůležitějších datových struktur v programovacím jazyce Python. Jedná se o uspořádanou sbírku prvků, které mohou být jakéhokoli typu dat. Každý prvek v sérii má svůj vlastní jedinečný index, takže indexy hrají důležitou roli při práci s daty v sérii.

Krok 1: Připojte knihovnu Pandas. Než začnete, ujistěte se, že máte nainstalovanou knihovnu Pandas. Importujte jej pomocí příkazu import pandas as pd. Nyní můžete použít všechny funkce a metody poskytované knihovnou pro práci se series.

Krok 2: Vytvořte sérii s indexy. Indexy lze explicitně zadat při vytváření series pomocí možnosti index. Chcete-li například vytvořit series s indexy od 0 do 4, můžete použít následující kód:

import pandas as pd data = [10, 20, 30, 40, 50] series = pd.Series(data, index=[0, 1, 2, 3, 4])

Nyní máme series s indexy od 0 do 4. Uvedeme tuto sérii, abychom se ujistili, že indexy byly skutečně vytvořeny:

0 101 202 303 404 50dtype: int64

Jak vidíte, indexy se zobrazují nalevo od prvků. Pokud chcete zobrazit pouze indexy, můžete použít atribut index series:

RangeIndex(start=0, stop=5, step=1)

Indexy řady tak můžete odvodit pomocí jednoduchých příkazů a metod knihovny Pandas. To vám umožní snadno navigovat data a provádět různé operace s indexy.

Jak pracovat s indexy series: podrobné pokyny pro začátečníky

Pro začátek vytvořme jednoduchou sérii:

import pandas as pddata = series = pd.Series(data)

V tomto příkladu jsme vytvořili řadu, ve které jsou klíče písmena 'a', 'b' A 'c' a hodnoty jsou čísla 1, 2 a 3.

Chcete-li nyní získat hodnotu odpovídající určitému indexu, můžete použít hranaté závorky:

value = series['a']print(value)

Na výstupu dostaneme číslo 1, protože index 'a' odpovídá hodnotě 1.

Pokud potřebujete získat více hodnot podle indexů, můžete předat seznam indexů v hranatých závorkách:

values = series[['a', 'c']]print(values)

V tomto výstupním příkladu dostaneme series obsahující hodnoty 1 a 3 odpovídající indexům 'a' A 'c'.

Kromě toho lze použít podmínky k filtrování hodnot podle indexů:

filtered_values = series[series > 1]print(filtered_values)

V tomto příkladu na výstupu dostaneme řadu, ve které zůstanou pouze hodnoty větší než 1.

Můžete také měnit hodnoty podle indexů takto:

series['a'] = 10print(series)

V tomto příkladu jsme změnili hodnotu odpovídající indexu ' a ' na číslo 10.

Jak vidíte, práce s indexy series je poměrně jednoduchá a umožňuje různé operace s daty. Vezměte v úvahu, že indexy v pandas mohou být nejen číselné, ale také řetězcové nebo jiné datové typy. Díky tomu je práce s indexy ještě flexibilnější a pohodlnější.

Porozumění indexům series

Indexy mohou být číselné hodnoty, řádky nebo dokonce jiné objekty. Mohou být nastaveny explicitně při vytváření série nebo přiřazeny automaticky, pokud není výslovně uveden index.

Jedním z důležitých rysů indexů řady je jejich jedinečnost. Každá hodnota indexu by měla být jedinečná pro každý prvek v sérii. Pokud mají obě položky stejnou hodnotu indexu, může to vést k nejednoznačnosti nebo chybě při přístupu k datům.

Indexy umožňují rychlé a efektivní provádění operací, jako je vyhledávání, třídění a slučování dat. Usnadňují přístup k požadovaným prvkům a umožňují operace pouze s daty, která splňují určitá kritéria.

Hodnota indexuVýznam prvku
010
120
230
340

Například v tabulce výše indexy začínají na 0 a zvyšují se o 1 pro každou další položku. Indexy lze použít k přístupu k určitým prvkům, jako je prvek s indexem 2, který má hodnotu 30.

Pochopení indexů Series je důležitým aspektem práce s daty. Pomáhají strukturovat a klasifikovat data, což usnadňuje jejich analýzu a zpracování. Schopnost správně používat a rozumět indexům může výrazně zvýšit efektivitu práce s objekty řady.

Vytvoření nového indexu series

Chcete-li vytvořit nový index pro řadu v Pandas, musíte použít metodu set_index() . Tato metoda umožňuje nastavit nový index podle jednoho nebo více sloupců Dataframe.

Příklad použití metody set_index() :

import pandas as pd

V důsledku provádění tohoto kódu bude vytvořen nový index pomocí sloupce "Název". Série bude vypadat následovně:

NázevVěk
Alexej30
Marie25
Ivan35
Helena28

Nyní je sloupec "Název" indexem řady.

Pokud potřebujete vytvořit index pomocí více sloupců, můžete seznam jmen sloupců převést do metody set_index() . Například:

df = df.set_index(['Jméno','Věk'])
print(df)

Výsledek provedení bude následující:

NázevVěk
Alexej30
Marie25
Ivan35
Helena28

Pomocí metody set_index () tedy můžete snadno vytvořit nový index pro vaši sérii v Pandas.

Přidání dat do indexu series

K přidání dat do indexu série budete muset použít metodu .loc[]. Tato metoda vám umožňuje přidat nové hodnoty do indexu zadáním příslušných značek indexu.

Proces přidávání dat do indexu series lze rozdělit do následujících kroků:

  1. Vyberte požadované místo v indexu, kam chcete přidat novou hodnotu.
  2. Použijte metodu .loc[] zadáním značky indexu a přiřazením nové hodnoty.
import pandas as pd# Создание seriesdata = series = pd.Series(data)print("Оригинальная series:")print(series)# Добавление нового значения в индексseries.loc['D'] = 4print("Обновленная series:")print(series)

Tento příklad přidává do indexu series novou hodnotu označenou 'D'. V důsledku toho bude aktualizovaná série obsahovat novou hodnotu na konci indexu:

A 1B 2C 3D 4dtype: int64

Pomocí metody .loc[], můžete přidat nové hodnoty do indexu series kdekoli. Stačí zadat požadovanou značku indexu a přiřadit novou hodnotu.

Extrahujte data z indexu series

Index v objektu série je sada štítků pro každý prvek v sérii. Může to být číselný, řetězcový nebo jiný typ. Extrahování dat z indexu umožňuje přístup k určitým prvkům série.

K načtení dat z indexu lze využít operátora hranatých závorek [], ve kterých je uvedeno označení prvku, který má být extrahován. K extrahování prvku série podle jeho indexu 2 lze například použít následující kód:

Je také možné extrahovat několik prvků série zadáním jejich indexů v operátoru čtvercových závorek jako seznamu, například:

Při extrahování dat z indexu lze také použít booleovo indexování, které umožňuje získat pouze ty prvky série, pro které je podmínka pravdivá. Chcete-li například získat všechny prvky série, jejichž hodnoty jsou větší než 5, můžete použít následující kód:

Extrahování dat z indexu vám umožňuje efektivně získávat požadované položky ze série a zpracovávat je podle potřeby.

Aktualizace dat v indexu series

Chcete-li aktualizovat data v indexu série, musíte provést několik kroků:

  1. Vyberte index, který chcete aktualizovat.
  2. Určit, které informace je třeba změnit.
  3. Použít vhodnou metodu pro aktualizaci dat:
    • Metoda at-aktualizuje hodnotu podle zadaného indexu.
    • Metoda loc-aktualizuje hodnoty podle podmínky filtru.
    • Metoda iloc-aktualizuje hodnoty podle číselného indexu.
    • Metoda mask-aktualizuje hodnoty uvedené v masce.
    • Metoda where-aktualizuje hodnoty uvedené v podmínce.
  4. Ověřte, že data byla úspěšně aktualizována.

Aktualizace dat v indexu series může být užitečná při práci s velkým množstvím informací nebo v případě potřeby provést změny v datech pro další analýzu nebo zpracování.

Vymazání dat z indexu series

Při práci s indexy series v Pythonu může být často nutné odstranit některá data, abyste index vyčistili nebo odstranili konkrétní položky. V této části se podíváme na různé způsoby, jak odstranit data z indexu series.

  • K odstranění položek podle jejich indexu použijte metodu drop ():
  • series.drop(index)
  • Pomocí metody drop() se seznamem indexů odstraňte více položek:
  • series.drop([index1, index2, . ])
  • Použijte metodu drop () s podmínkou pro odstranění prvků splňujících určitou podmínku:
  • series.drop(series[condition])

Pomocí těchto metod můžete snadno odstranit potřebná data z indexu series, abyste zachovali pouze položky, které skutečně potřebujete. Je důležité si uvědomit, že data budou odstraněna přímo z indexu, takže buďte opatrní a ujistěte se, že mazání probíhá ve správný čas a na správné úrovni.

Filtrování dat v indexu series

K filtrování dat podle indexu lze použít metodu loc nebo přístupový operátor [] . Chcete-li například vybrat všechny hodnoty odpovídající určitému indexu, můžete použít kód:

series.loc[index]
series[index]

K provedení filtrování na základě podmínek lze použít logické operátory a metodu loc . Chcete-li například vybrat všechny hodnoty, které jsou větší než konkrétní prahová hodnota, můžete použít kód:

series.loc[series > threshold]

Nebo můžete použít přístupový operátor [] :

series[series > threshold]

Lze také kombinovat několik podmínek pomocí logických operátorů, jako jsou & (a), / (nebo) a ~ (ne). Chcete-li například vybrat všechny hodnoty, které jsou větší než prahová hodnota a menší než jiná prahová hodnota, můžete použít kód:

series.loc[(series > threshold1) & (series < threshold2)]
series[(series > threshold1) & (series < threshold2)]

Filtrování dat v indexu series vám umožňuje efektivně pracovat s velkými objemy dat a vybírat pouze hodnoty, které jsou nezbytné pro analýzu nebo vizualizaci.

Třídění dat v indexu series

Když pracujete s objektem série v Pythonu, pořadí dat v indexu může hrát důležitou roli. Pokud potřebujete Seřadit data podle indexu, můžete použít metodu sort_index() .

Metoda sort_index () třídí index dat řady ve výchozím abecedním pořadí. Pokud potřebujete změnit pořadí třídění nebo zadat jiné možnosti třídění, můžete použít argumenty metody.

import pandas as pddata = df = pd.DataFrame(data)s = pd.Series(data['A'])print("Исходный series:")print(s)# Сортировка данных в индексе по умолчаниюsorted_s = s.sort_index()print("Отсортированный series по индексу:")print(sorted_s)
Исходный series:0 11 42 2dtype: int64Отсортированный series по индексу:0 11 42 2dtype: int64

Metoda sort_index () může také přijímat argumenty pro změnu pořadí třídění. Index lze například Seřadit obráceně přidáním argumentu ascending=False :

# Сортировка индекса в обратном порядкеsorted_s_reverse = s.sort_index(ascending=False)print("Отсортированный series в обратном порядке:")print(sorted_s_reverse)
Отсортированный series в обратном порядке:2 21 40 1dtype: int64

Třídění dat v indexu series tak usnadňuje změnu pořadí dat a práci s nimi ve vhodném formátu.

Indexování více sloupců v řadě

Při práci s Series v Pandas, můžeme indexovat více sloupců, abychom získali flexibilnější přístup k datům. Indexace nám umožňuje vybrat určité hodnoty nebo podmnožiny dat ze série podle daných podmínek.

Pro indexování více sloupců v sérii můžeme použít dvě metody-indexování podle značek a indexování podle pozice.

Indexování podle značek nám umožňuje vybrat hodnoty pomocí značek indexu. K indexování více sloupců můžeme použít několik hodnot štítků. Například:

  • series[['column1', 'column2']]

Zde zadáme seznam sloupců - 'column1' a 'column2' a dostaneme novou řadu obsahující pouze tyto sloupce.

Indexování pozice nám umožňuje vybrat hodnoty pomocí pozic prvků v sérii. Řezy můžeme použít k výběru více sloupců podle jejich pozic. Například:

  • series.iloc[:, 1:3]

Zde uvádíme řez [:, 1:3], který vybere všechny řádky a sloupce s pozicemi od 1 do 3 (nezahrnuje konečnou pozici).

Indexování více sloupců v sérii je velmi užitečné, když potřebujeme pracovat pouze s určitými sloupci dat nebo vytvořit novou řadu založenou na více sloupcích.