Jak działa pandas series w języku Python? Przykład zastosowania

Jak działa pandas series w języku Python? Przykład zastosowania
„`html

Jeśli programujesz w języku Python i pracujesz z danymi, to na pewno natknąłeś się na bibliotekę pandas. Jest to jedno z najważniejszych narzędzi do analizy danych w ekosystemie Pythona. Kluczowym elementem tej biblioteki jest struktura Series, która pozwala na łatwe przechowywanie i manipulowanie jednowymiarowymi danymi.

Czym jest pandas.Series?

Obiekt pandas.Series to jednowymiarowa struktura danych, która przypomina list lub numpy array, ale ma istotną różnicę – każdy element jest indeksowany. Możemy myśleć o Series jako o kolumnie w tabeli, gdzie każda wartość ma swój unikalny indeks.

Jak stworzyć obiekt pandas Series?

Aby utworzyć obiekt Series, musimy skorzystać z klasy pd.Series(). Możemy do niego przekazać:

  • listę wartości,
  • tablicę NumPy,
  • słownik.

Oto kilka przykładów:

import pandas as pd
import numpy as np

# Tworzenie Series z listy
s1 = pd.Series([10, 20, 30, 40])
print(s1)

# Tworzenie Series z tablicy numpy
s2 = pd.Series(np.array([1.1, 2.2, 3.3, 4.4]))
print(s2)

# Tworzenie Series ze słownika
s3 = pd.Series({'a': 100, 'b': 200, 'c': 300})
print(s3)

Indeksowanie w pandas Series

Serie w pandas są indeksowane automatycznie liczbami od zera, ale można nadawać im własne indeksy.

# Tworzenie Series z niestandardowym indeksem
s4 = pd.Series([10, 20, 30], index=['x', 'y', 'z'])
print(s4)

Teraz wartości są przyporządkowane do indeksów 'x', 'y' i 'z', a nie domyślnych 0, 1, 2.

Odczytywanie danych z Series

Odczytanie wartości jest proste – można korzystać zarówno z indeksu numerycznego, jak i własnego.

# Odczytanie wartości przez domyślny indeks
print(s4[0])  # Wynik: 10

# Odczytanie wartości przez etykietę indeksu
print(s4['y'])  # Wynik: 20

Podstawowe operacje na pandas Series

Obiekty Series wspierają wiele operacji matematycznych i statystycznych:

print(s1.mean())  # Średnia wartość
print(s1.sum())   # Suma wszystkich wartości
print(s1.max())   # Maksymalna wartość
print(s1.min())   # Minimalna wartość

Filtrowanie wartości

Możemy łatwo filtrować wartości w obiekcie Series, stosując warunki logiczne.

# Filtrowanie wartości większych od 20
filtered_s1 = s1[s1 > 20]
print(filtered_s1)

Łączenie dwóch obiektów Series

Możemy łatwo łączyć dwie różne serie, a przy tym indeksy zostaną odpowiednio dopasowane.

s5 = pd.Series([50, 60], index=['y', 'z'])
merged_series = s4 + s5
print(merged_series)

Jeśli indeksy się pokrywają, wartości zostaną dodane. W przeciwnym razie wynik będzie NaN.

Konwersja Series na listę lub słownik

Jeśli chcemy przekształcić Series na inną strukturę danych, możemy użyć metody .to_list() lub .to_dict().

series_list = s1.to_list()
series_dict = s3.to_dict()

print(series_list)  # [10, 20, 30, 40]
print(series_dict)  # {'a': 100, 'b': 200, 'c': 300}

Praktyczny przykład zastosowania pandas Series

Załóżmy, że mamy sklep i przechowujemy miesięczną sprzedaż w tysiącach złotych. Chcemy przeanalizować, które miesiące miały najwyższą sprzedaż.

sales = pd.Series(
    [50, 45, 60, 72, 65, 80, 90, 85, 78, 62, 55, 50],
    index=['styczeń', 'luty', 'marzec', 'kwiecień', 'maj', 'czerwiec',
           'lipiec', 'sierpień', 'wrzesień', 'październik', 'listopad', 'grudzień']
)

# Miesiąc z największą sprzedażą
best_month = sales.idxmax()
max_sales = sales.max()

print(f'Najlepszy miesiąc: {best_month} - sprzedaż: {max_sales} tys. zł')

Podsumowanie

Obiekt pandas.Series to niezwykle przydatne narzędzie do pracy z jednowymiarowymi danymi. Dzięki swoim funkcjom pozwala na:

  • łatwe tworzenie i indeksowanie danych,
  • wykonywanie operacji matematycznych,
  • filtrowanie wartości,
  • łączenie różnych serii,
  • sprawne przekształcanie danych.

Teraz wiesz już, jak działa pandas series w języku Python i znasz przykład zastosowania. To potężne narzędzie, które znajdzie swoje miejsce w wielu projektach analitycznych.

„` Inny ciekawy artykuł: Jak działa pandas dataframe w języku Python? Przykład zastosowania
KajoDataSpace