Pandas to najpopularniejsza, darmowa biblioteka Python przeznaczona do analizy, przetwarzania i manipulowania danymi, szczególnie w formie tabelarycznej. Dzięki wysokopoziomowym strukturom, takim jak DataFrame i Series, stanowi fundament pracy analityków, naukowców danych oraz programistów wszędzie tam, gdzie dane wymagają czyszczenia, eksploracji czy przygotowania do dalszego przetwarzania.
- Pandas to otwartoźródłowa biblioteka służąca do analizy danych w języku Python – ceniona za przejrzystość kodu i potężne możliwości manipulacji informacjami;
- jej kluczową wartością są struktury danych;
- Series – jednowymiarowa tablica, przypominająca kolumnę z arkusza kalkulacyjnego;
- DataFrame – dwuwymiarowa tabelka, w której każda kolumna to Series o wspólnym indeksie;
- pozwala na import i eksport danych z najpopularniejszych formatów: CSV, Excel, SQL i innych;
- zintegrowana z innymi narzędziami do wizualizacji i analizy (matplotlib, seaborn, scikit-learn).
Najważniejsze funkcje Pandas
- Wczytywanie danych – szybko wczytuj dane z plików oraz baz danych;
- Filtrowanie, sortowanie i grupowanie – wybieraj, sortuj, grupuj dane według dowolnych kryteriów;
- Agregacje i podsumowania statystyczne – łatwy dostęp do takich wskaźników jak średnia, mediana czy odchylenie standardowe;
- Modyfikacja struktury danych – dodawanie/usuwanie kolumn, zmiana typów danych, transformacje tekstów na liczby;
- Obsługa brakujących wartości – wykrywanie, uzupełnianie lub usuwanie pustych danych;
- Łączenie i kształtowanie danych – scalaj dane z różnych źródeł i organizuj je w pożądanej formie;
- Eksploracja oraz wizualizacja – szybka analiza danych, wykresy na bazie Pandas lub z udziałem matplotlib/seaborn;
- Zaawansowane operacje na datach i czasie – łatwe operowanie na kolumnach typu datetime;
- Przygotowanie danych dla machine learning – dzielenie na zbiory treningowe/testowe, standaryzacja, transformacje.
Poradnik – Jak zacząć pracę z Pandas?
Instalacja
pip install pandas
Podstawy – Series, DataFrame
import pandas as pd
# Series
serie = pd.Series([10, 20, 30], name="Wartość")
# DataFrame
dane = {
'Imię': ['Anna', 'Jan', 'Maria'],
'Wiek': [25, 30, 22]
}
df = pd.DataFrame(dane)
Wczytywanie i zapisywanie danych
# Z pliku CSV
df = pd.read_csv('plik.csv')
# Do pliku Excel
df.to_excel('wynik.xlsx', index=False)
Filtrowanie i wybieranie danych
df_filtr = df[df['Wiek'] > 23]
kolumny = df[['Imię', 'Wiek']]
Agregacje i grupowanie
grupa = df.groupby('Imię').mean()
srednia = df['Wiek'].mean()
Obsługa braków danych
df.isna().sum() # liczba brakujących wartości
df = df.fillna(0) # zamiana na 0
Łączenie danych
df2 = pd.DataFrame({'Imię': ['Olga', 'Paweł'], 'Wiek': [28, 35]})
df_all = pd.concat([df, df2], ignore_index=True)
Przekształcanie danych
df['Wiek'] = df['Wiek'].astype(float)
df['Imię_wielkie'] = df['Imię'].str.upper()
Wizualizacja
import matplotlib.pyplot as plt
df['Wiek'].plot(kind='hist')
plt.show()
Praca z datami i czasem
df['Data'] = pd.to_datetime(df['Data'])
df['Rok'] = df['Data'].dt.year
Zastosowania Pandas w codziennej pracy
- Analiza biznesowa – szybka analiza trendów sprzedażowych, efektywność pracowników, monitoring przepływów finansowych;
- Przygotowanie danych pod machine learning – standaryzacja, obsługa braków, wstępna selekcja cech;
- Eksploracja danych w nauce i badaniach – wykrywanie zależności, testowanie hipotez, raportowanie wyników;
- Integracja danych z różnych źródeł – łączenie źródeł wewnętrznych i zewnętrznych, automatyzacja raportowania.
Zalety i ograniczenia Pandas
Zalety
- Intuicyjność, przejrzystość kodu,
- szeroki ekosystem narzędzi naukowych i machine learning,
- elastyczność pracy z danymi o różnej strukturze.
Ograniczenia
- mniej wydajny niż rozwiązania typu big data, gdy dane liczone są w gigabajtach (do analizy bardzo dużych zbiorów polecane są np. Dask lub PySpark).
Podsumowanie
Pandas to niezbędne narzędzie każdego specjalisty pracującego z danymi w Pythonie – od prostych analiz po złożone projekty machine learning. Pozwala w szybki, elastyczny, a przy tym czytelny sposób panować nad danymi i wyciągać z nich praktyczną wiedzę.