Jak pracować z danymi w Pythonie i Pandas - przewodnik od podstaw
Źródło: Link
Źródło: Link
Znajoma z marketingu dzwoni w środku dnia: "Mam 5000 wierszy w Excelu, muszę wyciągnąć średnie sprzedaży dla każdego regionu, pogrupować to i jeszcze dorzucić wykresy. W Excelu zejdzie mi pół dnia. Da się to jakoś przyspieszyć?" Odpowiadam: "Daj mi 10 minut, napiszę Ci skrypt w Pythonie." Cisza. "Tylko że ja nie umiem programować." Znam to.
Praca z danymi nie jest magią zarezerwowaną dla programistów. To umiejętność, którą możesz ogarnąć w weekend, jeśli wiesz, od czego zacząć. Python i biblioteka Pandas zamieniają przetwarzanie danych z ręcznej męczarni w sensowną automatyzację. Nie potrzebujesz znać całej dokumentacji na pamięć. Wystarczy kilka podstawowych operacji, które rozwiążą 80% codziennych problemów.

Bazy danych świetnie nadają się do przechowywania i odpytywania danych - SQL działa szybko i sprawnie. Problem zaczyna się wtedy, gdy potrzebujesz bardziej złożonego przetwarzania niż zwykłe zapytanie. Chcesz wyciągnąć dane z ZIP-a, przekonwertować obraz na odcienie szarości, wyczyścić bałagan w nazwach kolumn i wygenerować raport PDF? SQL tego za Ciebie nie zrobi.
Python daje elastyczność. Możesz napisać program, który robi dokładnie to, czego potrzebujesz. Bez wciskania się w ograniczenia narzędzia. Do tego dochodzą tysiące bibliotek rozwiązujących konkretne problemy. Pandas jest jedną z nich - powstał specjalnie do pracy z danymi tabelarycznymi.
Dlaczego nie R? R to klasyczne narzędzie statystyków, z ogromnym repozytorium bibliotek CRAN. Tyle że to język dość niszowy i najczęściej spotkasz go w data science. Python jest językiem ogólnego przeznaczenia - poza danymi możesz budować aplikacje webowe, automatyzować zadania systemowe i pisać skrypty do AI. Uczysz się jednego języka i masz uniwersalne narzędzie.
Jest jeszcze Julia - młodszy język tworzony z myślą o wydajności w obliczeniach naukowych. Bywa szybsza od Pythona, ale jest mniej popularna. Jeśli dopiero startujesz, Python będzie bezpieczniejszym wyborem. Większa społeczność, więcej materiałów i więcej gotowych odpowiedzi na Stack Overflow.
Pandas to biblioteka Pythona do pracy z danymi tabelarycznymi - tymi samymi, które zwykle otwierasz w Excelu. Wiersze, kolumny, nagłówki. W Pandas taka tabela nazywa się DataFrame.
DataFrame nie jest zwykłą listą list. To struktura, która "rozumie" dane: wie, że kolumna "Data" zawiera daty, "Sprzedaż" liczby, a "Region" tekst. Dzięki temu możesz robić rzeczy, które w Excelu wymagają przeklikiwania się przez kilka zakładek: filtrowanie, grupowanie, łączenie tabel, liczenie statystyk czy czyszczenie braków.
Przykład? Masz plik CSV z 50 000 wierszy transakcji. Chcesz policzyć średnią wartość zamówienia dla każdego klienta, posortować wynik malejąco i zapisać go do nowego pliku. W Excelu otwierasz plik, czekasz, tworzysz tabelę przestawną, ustawiasz pola, sortujesz, kopiujesz wyniki i zapisujesz nowy arkusz. W Pandas to 5 linijek kodu i kilka sekund pracy. Bez klikania do znudzenia.

Dane przychodzą w różnych formach. Jeśli pracujesz z AI i automatyzacją, najczęściej trafisz na trzy typy:
To pliki CSV, Excel i tabele z baz danych. Wiersze są rekordami, na przykład transakcjami, użytkownikami albo produktami. Kolumny to atrybuty: data, kwota, nazwa. Pandas został stworzony właśnie do tego - wczytujesz plik, obrabiasz dane i zapisujesz wynik.
Typowe operacje to usuwanie duplikatów, uzupełnianie brakujących wartości, łączenie dwóch tabel, grupowanie i agregacja - suma, średnia, liczba wystąpień - oraz filtrowanie wierszy spełniających warunek. Jeśli pracujesz w biurze, 90% potrzeb będzie dotyczyć właśnie takich danych.
Logi systemowe, komentarze klientów, transkrypcje rozmów, artykuły, maile. Tekst to dane nieustrukturyzowane - nie masz kolumn, tylko ciąg znaków. Python ma biblioteki do pracy z tekstem, na przykład re do wyrażeń regularnych i nltk do przetwarzania języka naturalnego, ale wiele prostych operacji zrobisz też wbudowanymi funkcjami.
Przykład: masz 1000 maili od klientów i chcesz wyciągnąć te, które zawierają słowo "reklamacja", a potem zapisać je do osobnego pliku. Albo chcesz policzyć, ile razy pojawia się każde słowo w recenzjach produktu. Python robi to w kilku liniach, bez ręcznego przekopywania skrzynki (na szczęście).
Zdjęcia, screenshoty, wykresy. Dla Pythona obraz jest tablicą liczb - każdy piksel ma wartość koloru RGB. Możesz więc przetwarzać obrazy programowo: zmieniać rozmiar, konwertować je do skali szarości, wycinać fragmenty i nakładać filtry. Biblioteki takie jak Pillow czy OpenCV robią to automatycznie.
Dlaczego to ważne przy AI? Modele wizji komputerowej potrzebują przygotowanych danych. Obrazy muszą mieć jednolity rozmiar, odpowiedni format, a czasem także normalizację. Python automatyzuje te zadania. Jeśli chcesz trenować model rozpoznający produkty na zdjęciach, najpierw musisz przetworzyć tysiące obrazów. Ręcznie tego nie zrobisz. W Pythonie wystarczy skrypt na 20 linii.

Potrzebujesz Pythona w wersji 3.8 lub nowszej oraz zainstalowanej biblioteki Pandas. Jeśli używasz Anacondy, Pandas najczęściej jest już na pokładzie. Jeśli nie, otwierasz terminal i wpisujesz pip install pandas. Gotowe.
Do pisania kodu wybierz dowolny edytor: Visual Studio Code, Jupyter Notebook albo PyCharm. Na początku nie ma to większego znaczenia. Liczy się to, żeby dało się wygodnie pisać i uruchamiać kod.
Masz plik CSV z danymi? Otwierasz Pythona i piszesz:
import pandas as pd
df = pd.read_csv('dane.csv')
Dwie linijki. import pandas as pd ładuje bibliotekę - skrót pd to standard. pd.read_csv() wczytuje plik CSV do zmiennej df, czyli DataFrame. Od tej chwili dane są w pamięci i możesz je przeglądać, filtrować oraz modyfikować.
Chcesz zobaczyć pierwsze 5 wierszy? df.head(). Chcesz sprawdzić liczbę wierszy i kolumn? df.shape. Chcesz podejrzeć nazwy kolumn? df.columns. To proste komendy, nie czarna magia.
Masz kolumnę "Sprzedaż" i chcesz zobaczyć tylko transakcje powyżej 1000 zł? Wystarczy:
df_filtered = df[df['Sprzedaż'] > 1000]
df['Sprzedaż'] > 1000 tworzy warunek - dla każdego wiersza dostajesz True albo False. Pandas zostawia tylko te wiersze, które spełniają warunek, i zapisuje je do nowej zmiennej df_filtered. Możesz też łączyć warunki: df[(df['Sprzedaż'] > 1000) & (df['Region'] == 'Warszawa')]. Wtedy dostajesz tylko transakcje powyżej 1000 zł z Warszawy.
Chcesz policzyć średnią sprzedaż dla każdego regionu? W Excelu robiłabyś tabelę przestawną. W Pandas:
df.groupby('Region')['Sprzedaż'].mean()
Jedna linia. groupby('Region') grupuje wiersze według kolumny "Region". ['Sprzedaż'] wybiera kolumnę do obliczeń. .mean() liczy średnią. Możesz użyć też .sum(), .count() albo .max() - zależnie od tego, czego potrzebujesz.
Chcesz zapisać wynik do nowego pliku CSV? Na końcu dopisujesz .to_csv('wyniki.csv'). I po sprawie.
Masz dwie tabele - jedną z transakcjami, drugą z danymi klientów. Chcesz połączyć je po kolumnie "ID_klienta"? W SQL zrobiłabyś JOIN. W Pandas:
df_merged = pd.merge(df_transakcje, df_klienci, on='ID_klienta')
Pandas automatycznie dopasowuje wiersze z obu tabel według wspólnej kolumny. Możesz też wskazać typ złączenia: how='inner' - tylko pasujące wiersze, how='left' - wszystkie z lewej tabeli, how='outer' - wszystkie z obu. Zasada jest taka sama jak w SQL, tylko zapis zwykle bywa prostszy.
Masz wiersze z pustymi wartościami w kolumnie "Email"? Możesz je usunąć:
df_clean = df.dropna(subset=['Email'])
Albo wypełnić domyślną wartością:
df['Email'].fillna('brak@email.com', inplace=True)
dropna() usuwa wiersze z brakami. fillna() uzupełnia je wartością, którą podasz. inplace=True oznacza, że zmiany zapisują się w oryginalnym DataFrame. Bez tego trzeba przypisać wynik do nowej zmiennej.

Python nie zawsze jest najlepszym wyborem. Jeśli masz jednorazowe zadanie na 50 wierszach danych, otwórz Excela i zrób to ręcznie. To będzie szybsze niż pisanie skryptu.
Python ma sens, gdy:
Jeśli robisz coś raz i nigdy do tego nie wrócisz, Excel wystarczy. Jeśli robisz to co miesiąc, Python zwraca się bardzo szybko.
Pierwszy błąd: próba nauczenia się wszystkich funkcji Pandas naraz. Nie ma takiej potrzeby. Zacznij od podstaw - wczytywania, filtrowania, grupowania i zapisywania. Reszta przyjdzie wtedy, gdy naprawdę będzie potrzebna.
Drugi błąd: brak sprawdzania danych po każdym kroku. Dodaj print(df.head()) po każdej operacji i zobacz, czy wszystko wygląda tak, jak zakładasz. Inaczej możesz przetworzyć 50 000 wierszy i dopiero na końcu odkryć, że coś poszło bokiem.
Trzeci błąd: modyfikowanie oryginalnego DataFrame bez kopii. Jeśli popełnisz błąd, tracisz punkt odniesienia. Lepiej zrobić kopię: df_copy = df.copy() i pracować na niej. Oryginał zostaje bezpieczny.
Czwarty błąd: ignorowanie komunikatów o błędach. Stack Overflow ma rozwiązanie ogromnej części problemów, które pojawiają się przy Pandas. Skopiuj błąd, wklej go do Google i przeczytaj pierwsze 2-3 sensowne odpowiedzi. Ktoś już przez to przechodził.
Jeśli chcesz wejść głębiej w automatyzację zadań biurowych z AI, sprawdź 10 zadań, które możesz zautomatyzować AI już dziś - bez kodowania. Jeśli interesuje Cię to, jak AI przetwarza dane tekstowe, przeczytaj jak działa tokenizacja Byte-Pair Encoding w GPT i Claude.
Jeśli chcesz pracować z AI - uczeniem maszynowym, modelami językowymi czy wizją komputerową - Pandas będzie Ci potrzebny. Powód jest prosty: modele AI potrzebują danych. Dużo danych. I te dane trzeba wcześniej przygotować.
Przykład: chcesz wytrenować model przewidujący, czy klient zrezygnuje z subskrypcji, czyli churn prediction. Masz dane z CRM-u - 100 000 rekordów i 50 kolumn. Problem w tym, że dane są brudne: masz braki, duplikaty, kolumny w złym formacie i outliery psujące statystyki. Zanim podasz to modelowi, trzeba dane oczyścić - usunąć duplikaty, uzupełnić braki, znormalizować wartości i stworzyć nowe kolumny w ramach feature engineering. W Pandas to kilkadziesiąt linii kodu. Bez niego robi się z tego długa, ręczna robota.
Pandas jest też mostem między danymi a bibliotekami AI. Scikit-learn, TensorFlow i PyTorch przyjmują dane w formacie, który Pandas łatwo przygotowuje. Wczytujesz dane do DataFrame, przetwarzasz je, konwertujesz do tablicy NumPy i przekazujesz do modelu. Bez Pandas trzeba byłoby pisać własne parsery, a to zwykle strata czasu.
Jeśli chcesz lepiej zrozumieć, jak AI przetwarza dane wizualne, zajrzyj do artykułu o tworzeniu treści z AI - w tym grafik i obrazów. Jeśli interesuje Cię budowanie agentów AI, które operują na danych, przeczytaj jak zbudować agenta AI z wieloma narzędziami.

Najlepiej uczysz się Pandas, rozwiązując realne problemy. Zamiast czytać dokumentację od deski do deski, weź swoje dane i zacznij je obrabiać. Kiedy utkniesz, szukaj konkretnego rozwiązania.
Stack Overflow to zwykle pierwszy przystanek. Wpisujesz "pandas filter rows by condition" i dostajesz dziesiątki przykładów z kodem. Kopiujesz, testujesz i dopasowujesz do swoich danych. Tak uczy się mnóstwo osób - to normalny tryb pracy, nie oszustwo.
Dokumentacja Pandas jest dobra, ale gęsta. Traktuj ją jak referencję, nie jak podręcznik do przeczytania od początku do końca. Jeśli znasz nazwę funkcji, na przykład groupby, wpisujesz "pandas groupby documentation" i patrzysz na przykłady. Jeśli nie znasz nazwy, wpisujesz problem zwykłym językiem, na przykład "how to calculate average by group in pandas".
Jeśli chcesz uczyć się bardziej uporządkowanie, oficjalna dokumentacja Pandas ma sekcję "10 minutes to pandas". To krótkie wprowadzenie z przykładami. Przejdź przez nie raz, żeby złapać ogólny obraz. Potem wracaj do konkretnych funkcji wtedy, gdy naprawdę będą potrzebne.
Jeśli dopiero zaczynasz z Pythonem, sprawdź jak wybrać kurs Python i uczyć się z AI od zera. Jeśli chcesz pisać lepsze polecenia do AI, które pomagają w kodowaniu, przeczytaj jak pisać skuteczne prompty do AI - 7 praktycznych przykładów.
Praca z danymi to fundament AI - ale nie musisz uczyć się tego samodzielnie metodą prób i błędów. Na darmowym webinarze na żywo pokazuję krok po kroku, jak oszczędzać 10 godzin tygodniowo dzięki AI - bez wiedzy technicznej.
Zapisz się na darmowy webinar →Wolisz uczyć się we własnym tempie? Sprawdź kurs AI Evolution
Python i Pandas nie są czarną magią. To narzędzia, które da się ogarnąć w weekend, jeśli zaczniesz od konkretnego problemu zamiast od teorii. Nie potrzebujesz znać wszystkich funkcji. Wystarczy umieć wczytać dane, przefiltrować je, pogrupować i zapisać wynik. Reszta przychodzi z praktyką.
Weź swój ostatni raport z Excela i spróbuj obrobić go w Pandas. Wczytaj plik, przefiltruj wiersze, policz średnią dla grupy i zapisz wynik. Za pierwszym razem nie będzie idealnie - i to jest normalne. Po prostu zobaczysz, jak ten mechanizm działa. Następnym razem, gdy dostaniesz 5000 wierszy do przetworzenia, nie spędzisz pół dnia na klikaniu. Napiszesz kilka linii kodu i zrobisz sobie kawę.
Nie musisz być programistą, ale podstawy Pythona bardzo pomagają. Jeśli rozumiesz, czym są zmienne, funkcje i pętle, to wystarczy na start. Pandas jest biblioteką wysokopoziomową, więc większość operacji sprowadza się do jedno- lub dwuliniowych wywołań funkcji. Jeśli potrafisz czytać kod i modyfikować przykłady ze Stack Overflow, dasz radę.
Podstawy - wczytywanie, filtrowanie, grupowanie i zapisywanie - możesz ogarnąć w weekend, czyli w 4-6 godzin praktyki. Bardziej zaawansowane operacje, takie jak tabele przestawne, łączenie wielu źródeł i czyszczenie bardziej skomplikowanych danych, to kolejne 2-3 tygodnie. Nie musisz jednak znać wszystkiego od razu. Uczysz się tego, czego akurat potrzebujesz.
Pandas radzi sobie z milionami wierszy, ale ma swoje limity - ładuje wszystko do pamięci RAM. Jeśli masz ponad 10 GB danych, zacznie zwalniać albo zabraknie pamięci. Wtedy wchodzą do gry narzędzia do big data, takie jak Dask, Spark czy Polars. Do typowych zadań biurowych, czyli do 1-2 milionów wierszy, Pandas zwykle w zupełności wystarcza i działa szybciej niż Excel.
Tak. Możesz korzystać z Google Colab, czyli darmowego Jupyter Notebooka w chmurze, albo z Kaggle Notebooks. Otwierasz przeglądarkę, logujesz się kontem Google i masz gotowe środowisko z zainstalowanym Pandas. To bardzo wygodne do nauki i testów, bo nie musisz nic instalować na swoim komputerze.
Najczęściej chodzi o automatyzację raportów - wczytanie danych z CSV lub Excela, przetworzenie ich i wygenerowanie podsumowania. Do tego czyszczenie danych, czyli usuwanie duplikatów i uzupełnianie braków, łączenie wielu plików w jeden raport, analiza sprzedaży przez grupowanie po produktach lub regionach oraz przygotowanie danych do wizualizacji w Power BI albo Tableau. Jeśli pracujesz z tabelkami, Pandas potrafi przyspieszyć pracę bardzo wyraźnie.
Na podstawie: SukcesAI Course Material
10 gotowych promptów do codziennej pracy + 5 narzędzi + plan na pierwszy tydzień. PDF, 4 strony konkretu.