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 indexu | Význam prvku |
|---|---|
| 0 | 10 |
| 1 | 20 |
| 2 | 30 |
| 3 | 40 |
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ázev | Věk |
|---|---|
| Alexej | 30 |
| Marie | 25 |
| Ivan | 35 |
| Helena | 28 |
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ázev | Věk |
|---|---|
| Alexej | 30 |
| Marie | 25 |
| Ivan | 35 |
| Helena | 28 |
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ů:
- Vyberte požadované místo v indexu, kam chcete přidat novou hodnotu.
- 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ů:
- Vyberte index, který chcete aktualizovat.
- Určit, které informace je třeba změnit.
- 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.
- 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.