Jak zrobić swój pierwszy projekt w Pythonie? Jak zacząć swój własny projekt analityczny?
06.11.2022
W rzeczywistości “projekt python” to nic innego jak wykonanie ćwiczenia w którym zobaczysz, jak wykonać prostą analize w pythonie.
Na początku wybierzemy środowisko pracy dla Ciebie, by następnie stworzyć pierwszy wstępny projekt, w którym to wcielimy się w manadżera restauracji chcącego zoptymalizować swoje działania.
Spis treści
Jakie środowisko wybrać pracując w pythonie
Jak to mówią najtrudniejszy pierwszy krok. Tak jest również z Pythonem, dlatego bo trzeba zainstalować niezbędne środowisko w którym będziesz pracował. Wybór środowiska zależy od Ciebie. Jak chcesz zobaczyć jak to zrobić, to odsyłam Cię do drugiej części artykułu.
Wstęp do analizy w pythonie - stwórz projekt w pythonie
Jak zacząć prosty projekt w pythonie
Zabawę w pythonie zaczniemy od właśnie takiej przykładowej bazy napiwków w pewnej restauracji.
Cały poniższy projekt jest dostępny na kagglu tutaj. Zachęcam do edytowania projektu we własnym zakresie, zmieniania kolumn użytych w wizualizacjach, a no i oczywiście komentowania!
Jak i po co ściągnąć podstawowe biblioteki w pythonie
Python posiada kilkanaście wbudowanych już bibliotek, które na etapie początkowym projektu należy zaimportować. W rzeczywistości robimy to po to, aby skorzystać z gotowych rozwiązań, w konsekwencji nie musimy robić na własną rękę.
Warto zwrócić uwagę na skróty.
Przede wszystkim będziemy się odwoływać do nich w projektach (to te zaznaczone na czerwono na przykład: pd, sns). Skróty te, to krótkie nazwy zdefiniowane przez użytkowników. Jednak już teraz warto wspomnieć, że z reguły każdy stara się przestrzegać i używać tych samych skrótów, które dotyczą nazw bibliotek. Robimy to przede wszystkim po to aby inni z łatwością zrozumieli nasz projekt.
Znak # służy do wpisania własnego komentarza pomocnego w procesie budowania kodu. Program kolokwialnie mówiąc, go nie czyta. Te fragmenty będą pomocne tylko i wyłącznie dla Ciebie.
Jak zaimportować dane w pythonie z pliku csv - projekt python
Ściągając dane do dzisiejszego ćwiczenia ze środowiska Jupyter Notebook możemy użyć zapisanych danych w bibliotece seaborn (linia pierwsza).
W zależności od wyboru środowiska w którym pracujesz wybierasz odpowiednią linijkę kodu (nie liczę fragmentów z #)
Dane po ściągnięciu przechowywane są w pamięci, także w żaden sposób odwoływanie się do nich nie spowoduję zmian w danych wejściowych. Jest to ogromna zaleta odwoływania się do tabel w pythonie. Zaczytaną bazę bedziemy wywoływać nadaną nazwą własną, w tym wypadku “tips“
W środowisku Kaggle dane musimy sobie wyszukać i bezpośrednio dodać do naszej bazy. Chyba, że korzystacie z mojego projektu, wtedy nie musicie. 😉 Całość możemy wykonać korzystać z przycisku w prawym górnym rogu poprzez naciśnięcie “K” i wyszukujemy przykładowej bazy, która nas interesuję w tym wypadku jest to: “A Waiter’s tips“. Możemy też użyć danych bezpośrednio od nas na dysku, czego przykład zaprezentowałem w linii od trzeciej do piątej.
Przegląd danych - projekt python
O ile w Excelu po wykonaniu pewnych kroków ciężko jest nam wrócić do początku projektu, o tyle w pythonie mam wrażenie, że analizy są bardziej uporządkowane. Wszystko zmierza od A do B, od B do C i tak dalej. W momencie jeżeli powineła by nam się noga, zawsze możemy powrócić do wcześniejszych kroków i coś dodać lub poprawić. Jest to ogromna korzyść w tym porównaniu chociażby do Excela.
Większość projektów w pythonie przybiera podobną kolejność o czym wspominałem podczas tworzenia projektów w PQ, czyli:
Tak samo sprawy się mają w pythonie. Rozpoczynając od przeglądu danych.
Poleceniem nazwa_własna.head(5) wywołujemy zaczytaną naszą tabelę. Jest to jedno z pierwszych linijek kodu do wywołania w każdym projekcie, po to aby podejrzeć co kryję się w naszej bazie!
Jak widzimy nasze dane zawierają kilka kolumn:
- total_bill – kwota rachunku
- tip – kwota napiwku
- sex – płeć
- smoker – palacz czy nie
- day – dzień tygodnia
- time – pora posiłku
- size – liczba obsłużonych klientów
podstawowe skróty klawiszowe w pythonie - projekt python
Wywołanie polecenia może się odbywać przy pomocy wyboru linii, która nas interesuję i kliknięcia na górze ikony “play”. Możemy również wygodniej zacząć korzystać ze skrótów klawiszowych. Dwa najczęściej stosowane to:
CTRL + ENTER- działa tak samo jak play
ALT + ENTER – wywołanie polecenia i dodanie nowej linii kodu pod spodem.
Dwa podstawowe polecenia do weryfikacji danych w pythonie
Rolą analityka jest poznanie zakresu danych i wartości jakie dane dotyczą. Pomoce w tym są dwa, być może dużo niewnoszące polecenia ale bardzo pomocne na etapie wdrożenia do projektów są to:
tips.info()
Używając kodu .info() możemy sprawdzić z jakimi danymi mamy do czynienia. Czy są to dane typu tekstowego (object), czy dane wartościowe (float lub int). Możemy mieć do czynienia również na przykład z datami (date) lub polami przyjmującymi wartości prawda/fałsz (boolen). W zależności od projektu.
Polecenie to pozwala również sprawdzić ilość wypełnienia danych. W tym wypadku wszystkie kolumny zawierają 244 wiersze i nie posiadają niewypełnionych pól. Sprawdzenie wypełnienie danych jest to bardzo ważny krok, pozwalający stwierdzić z których kolumn możemy skorzystać, a z których nie. Kolumny, które są ledwie wypełnione tracą na wartości. Z reguły w przypadku braków danych musimy zarządzić całą sytuacją albo wypełnić brakujące pola albo zrezygnować całkowicie z linii, które takie braki posiadają. W tym przypadku nie mamy takich problemów, także tego rodzaju problemy rozwiążemy przy kolejnym projekcie.
tips.describe() - projekt python
Fragment kodu .describe() pozwala zapoznać się z danymi wartościowymi. Dzięki temu możemy poznać w jakim zakresie znajdują się nasze dane. Możemy na szybko sprawdzić średnią, odchylenie standardowe, wartości minimalne, mediane czy wartości maksymalne. Kolejny dobry wstęp do analizy.
Sortowanie, tworzenie nowych kolumn, grupowanie i agregacja danych w pythonie
Wykonamy parę czynności, które są równie błahe z poziomu Excela. Jednak na etapie budowania naszych nowych umiejętności warto je znać.
Sortowanie w pythonie przy użyciu sort_values
Jak stworzyć nową kolumnę w pythonie
Dodamy dwie nowe kolumny:
- Kwota całkowita rachunku
- Procent napiwku w całym rachunku
Jak pogrupować dane i je zagregować w pythonie
Chcąc wyciągnąć średnią po płci możemy skorzystać z polecenia groupby.
Grupowanie średniej po płci i porze lunchu wyglądałoby tak:
Jak stworzyć kolumnę kumulacji w pythonie
Czasami przydałoby nam się szersze spojrzenie. Poniżej wykonano tworzenie nowej kolumny kumulacji wartości i na tej podstawie utworzono pomocniczą tabelę, aby to wszystko zaprezentować.
Nasze dane z piątku są jakoś dziwnie ubogie, nieprawdaż? Przypominam, że jest są to dane przykładowe. Nie można od nich za dużo oczekiwać. 😉
Czas na wizualizacje - podstawowe wykresy w pythonie
Tak jak już wspomniałem python oferuję szereg ciekawych rozwiązań do wizualiacji danych. Dzisiaj zaprezentuję tylko najprostsze z nich.
Stwórz wykres punktowy w Pythonie przy użyciu wykresu Relplot
W podobny sposób tworzymy wykresy poprzez wywołanie właściwej biblioteki. Będzie to znana już biblioteka seaborn – w skrócie sns, później odwołujemy się również do typu wykresu. W tym przypadku będzie to relplot, a następnie w nawiasie definiujemy najpierw tabelę danych, a później odpowiednio oś X i Y.
Dodatkowo możemy zdefiniować różne rzeczy na wykresach. Jeżeli chcemy zaprezentować na przykład jakieś kategorie, to definiujemy je poprzez człon “hue”. Korzystając z tej opcji dodaliśmy wizualizacje czy nasi klienci są palaczami czy nie. Możemy również zdefiniować kolor i wiele innych.
Aby zilustrować korzyści z pythona, wyobraźcie sobie jak zmieniając tylko wprowadzone nazwy nagłówków możecie zmieniać bieżącą wizualizacje w pythonie. A teraz wyobraźcie sobie podobną czynność wykonywaną z poziomu Excela?
Należy jednak pamiętać, że czasami co za dużo, to nie zdrowo. 😉
Wykres słupkowy - projekt python
Python oferuję szereg wykresów. Naprawdę brakło by mi życia aby pokazać Ci choć cząstkę z nich. Dlatego najłatwiej odeślę Cię do pełnej dokumentacji jednej z użytych dzisiaj biblioteki, a mianowicie biblioteki Seaborn. Dzięki temu złapiesz szerszy obraz tego, ile można zrobić w pythonie. Link do biblioteki tutaj.
Wybór środowiska pracy - projekt python
Jeżeli chodzi o wybór środowiska pracy, to do wyboru mamy:
Opcje z instalacją środowiska dla pythona bezpośrednio na komputerze
Jak zainstalować środowisko Jupyter notebook na swoim komputerze - Opcja 1
Chyba najczęściej używane środowisko we wszystkich szkoleniach i webinarach. Wymaga zainstalowania Anacondy, która jest konsolą niezbędną do wdrażania pakietów w Pythonie lub w języku R. Należy ją zainstalować na swoim komputerze.
Link do strony, gdzie możesz bezpłatnie ściągnąć Anacondę. https://www.anaconda.com/products/distribution
Po zainstalowaniu, wyszukujemy i otwieramy Anaconda Prompt. Ukaże nam się czarny ekran. Nie bójmy się go. Z niego bardzo szybko przeskoczymy do środowiska docelowego – Jupyter Notebook.
Jupyter notebook - krok 1
Jupyter notebook - krok 2
Na czarnym ekranie musimy wpisać tylko i wyłącznie “jupyter notebook“.
W tym momencie wszystkie nasze projekty będą tworzone w poniższej lokalizacji. Jeżeli chcielibyśmy aby w naszych projektach panował porządek, możemy od razu zdefiniować lokalizacje, gdzie te projekty mają być przechowywane. Robimy to wpisując “cd” i docelową ścieżkę (patrz zdjęcie), by następnie wpisać “jupyter notebook“.
Jupyter notebook - krok 3
Tworzymy nowy projekt. Jak na zdjęciu.
Opcje bez instalacji środowiska bezpośrednio na komputerze
Kaggle - Opcja 1
Wystarczy się zalogować na https://www.kaggle.com/
Możemy założyć konto lub zalogować się za pomocą konta googla, facebooka.
Następnie rozwinąć “plusa” i przejść do zakładki “New Notebook”.
Google Colaboratory - Opcja 2
Coraz częściej stosowana opcja. Wygoda i wszystko dostępne z dowolnego miejsca.
https://colab.research.google.com/
Podsumowanie - pierwszy projekt
Dzisiaj nauczyłeś się jak zainstalować i przejść do środowiska pythonowego. Dodatkowo wykonaliśmy pierwszy bardzo podstawowy projekt w którym utworzyliśmy nowe kolumny, pogrupowaliśmy i posortowaliśmy nasze dane i stworzyliśmy pierwsze podstawowe wizualizacje. Cały projekt jest dostępny na moim kagglu w troszkę szerszej formie. Także jeżeli chciałbyś przejrzeć dane to zapraszam tutaj.
Warto zwrócić uwagę na fazy projektu. Od zapoznania się z danymi, po stopniową obróbkę. Następnie przechodzimy do stopniowego grupowania i wizualizacji, by nastepnie przechodzić do coraz szerszego obrazu. Takie możliwości daje python. Dodatkowo należy pamiętać o dalszych możliwościach, ale to może dasz mi szanse pokazać kiedy indziej. 😉
Wraz z biegiem czasu będziemy rozbudowywać nasze umiejętności pythonowe.
Jeżeli podoba Ci się, to co robię to zapraszam do komentowania lub likowania posta na linkedin lub facebook’u.
Pozdrawiam,
Mariusz