Po co programowanie w Pythonie

25.09.2022

Dzisiaj postaram się odpowiedzieć na pytanie, po co analitykowi danych programowanie w Pythonie. Opowiem Ci po krótce do czego może Ci się przydać.

We wstępie przejdziemy do konkretów, gdzie pokażę Ci ciut możliwości tego języka. Na koniec poruszę parę ważnych kwestii, które chciałbym z Tobą wyjaśnić na samym początku. 

Jeżeli uważasz, że języki programowania nie są jeszcze dla Ciebie, wróć proszę do bloków tematycznych i poszukaj poziomu dla Ciebie. W zakładce tej staram się sortować tematy według poziomu zaawansowania odbiorcy. 😉

Dobra, to po co kodowanie w Python'ie analitykowi.

Zacznę od prezentacji tej pozytywnej strona Pythona. Pokaże Ci na moim przykładzie po co programowanie w Pythonie analitykowi i za co ja go lubię. Wszystko dostępne na podstawowym poziomie.

Python jest darmowy

Niby to błahostka, ale jeżeli pracujesz w firmie z ograniczonym budżetem, gdzie brakuje funduszy na narzędzia BI (te najpopularniejsze są płatne) czy dobrego Excela, to Python jest świetną możliwością zrobienia czegoś więcej. (patrz punkt poniżej)

Wykresy, wykresy, jeszcze raz wykresy! - Czyli jakie możliwości daje stworzenie wykresów w pythonie?

Z pewnością Python oferuję szereg możliwości zaawansowanej wizualizacji.

Wykresy interaktywne w pythonie - przykłady dynamicznych wykresów w Pythonie

Czy pamiętasz jak w Excelu zrobiłeś najpiękniejszy wykres, a później padło magiczne pytanie dotyczące jednego lub kilku punktu A co to za punkt?. W tym momencie “następuje zwolnienie blokady”. 

W konsekwencji zaczyna się przeszukiwanie tabel, przerzucanie między arkuszami i próba znalezienia odpowiedzi. Do bibliotek Pythona dołączone są wykresy na przykład typu iplot, które po najechaniu na punkt podświetlają nam dany punkt i informację, które są dla nas wartościowe. Któryś z punktów A, B czy C Cię nie interesuję? Możesz w prosty sposób je wyłączyć! Prawda, że proste? 

O ile ta metoda nie jest zbyt optymalna po wydruku, to już na spotkanie biznesowe taki wykres daje mnóstwo możliwości! Tego typu problemy rozwiązują narzędzie BI (Tablau, Power BI czy Qlik Sense). Jednak jak już wspomniałem to są komercyjne rozwiązania $$. Często niedostępne dla zwykłego śmiertelnika.

Python idealnie się sprawdził u mnie w momencie zmiany narzędzia BI w firmie, kiedy to nie było jeszcze ustandaryzowanego środowiska do dynamicznej wizualizacji danych.

Jak zrobić kilka wykresów obok siebie w pythonie

Tworzenie kilku wykresów obok siebie w Excelu to istne piekło. Na dodatek ile to się trzeba naklikać, wyrównywać, pokolorować. A niech przyjdzie coś zmienić np. zakres danych! Oo nie nigdy więcej! Tylko Python!

Skomplikowane wykresy w pythonie - przykład użycia wykresu pairplot

Czasami, nie znamy danych. Gdy trudno nam ocenić lub wysnuć wnioski do dalszej analizy. Do akcji wkracza Python i możliwość tworzenie prostych pairplot’ów. Na początku pomagają na przykład wychwycić różne podobieństwa, mogące służyć do dalszej analizy.

 Nie jest to często może piękne i niewarte dzielenia ze światem zewnętrznym, ale jest niezwykle użyteczne.

Mógłbym zaprezentować jeszcze kilkanaście typów wykresów, które nie są dostępne w Excelu. Analiza cohorty czy Sankey plot to pierwsze typy, które przychodzą mi do głowy.

Projektowanie tabel, znajdywanie i naprawianie błędów w pythonie

Python przede wszystkim pomocny jest w oczyszczaniu danych. Na przykład może służyć do:
  1. Łączenia kilku tabel, przechowywanie ich “wirtualnie” bez potrzeby tworzenia gigantycznych arkuszy.
  2. Wyszukiwanie pustych czy błędnych komórek. Możliwość ich elastycznego zastępowania, usuwania bez konsekwencji utraty wartościowych danych.
  3. Tworzenie wirtualnych pobocznych tabel/wierszy/kolumn niezbędnych na przykład do jednego czy dwóch wykresów.
Liczba zalet zależy od poziomu zaawansowania. Warto wspomnieć o możliwości tworzenia automatycznej korespondencji seryjnej, automatycznych skryptach, przetwarzania dużej porcji danych niedostępne z poziomu Excela (powyżej 1 mln wierszy) To są zalety, które przyszły mi do głowy podczas sobotniego popołudnia.

Kilka słów wyjaśnienia - Po co programowanie w Pythonie analitykowi

Czy dużo zarobię na programowaniu w Pythonie?

Na zakończenie chciałbym między nami wyjaśnić parę rzeczy. 

O ile nauczenie się kilku prostych formuł w Excelu czy Power Query jest dosyć proste. Może to trwać dzień, dwa, maksymalnie tydzień, o tyle zrozumienie podstawy Pythona może wymagać trochę czasu. Chciałbym Cię na początku zniechęcić i przestrzec przed tym. 

Nie jestem ekspertem Pythona

Bloga traktuję jako dodatkową motywacje do nauki. W Pythonie siedzę z przerwami od dwóch lat. Poznałem szeroki wachlarz dróg jaki oferuję i za to go cenię (od analityka danych po data science i data inżyniera). Wiedzę zaczerpnąłem z książek, z kursów na UDEMY, medium.com czy kaggla (kiedyś wspomnę co i jak). Z polskich źródeł, osobiście wychowałem się na blogach dwóch Panów. Są to blogi Łukasza Prokurskiego i Mirosława Mamczura. To co chciałem zaznaczyć, nie jestem żadnym profesjonalistą. 

Oho kolejny ekspert. “Nie jestem ekspertem, ale się wypowiem”. Tak możesz mnie tak nazwać. Patrzę do przodu i wiem, że przygotowując tego typu artykuły sam się doszkalam. Chociażby pod względem ortografii czy właśnie pythona. 😉 

Jestem taką samą osobą jak Ty, która wieczorami zgłębia różne zakamarki “internetów” w poszukiwaniu rzeczy, które są ciekawe i mogą w przyszłości usprawnić moją pracę.

Jeżeli jesteś wymiataczem, z chęcią podpowiadaj. Z bloga nie czerpię żadnych korzyści. Od, daję ludziom możliwość nauki. Zastosowane metody, dobieram po to aby możliwie w jak najprostszy sposób przekazywać “ogólnodostępną” wiedzę. Wiem, że w Pythonie można dużo rzeczy zrobić w jednej linijce, chciałbym jednak aby to było przede wszystkim zrozumiałe.

To nie jest blog dla każdego

Przykro mi ale będę wrzucał zdjęcia kodu, a nie kod do prostego skopiowania! Dlaczego? Stwierdzam, że więcej pożytku będzie, jeżeli 2-3 osoby przepiszą ten kod ze zdjęcia i coś nieświadomie zapamiętają, niż jeżeli 10 osób, będą kopiowały i po 10 minutach nic, absolutnie nic z tego nie wyniosą. Pisz jak najwięcej to rady wielu ekspertów w dziedzinie programowania, którą i ja tutaj zastosuję. 

Po co programowanie w Pythonie? A co to jest R?

Są z reguły dwa główne języki stosowane w analizie danych. R i Python

R jest częściej wybierany przez statystyków i matematyków. Pozwala na trochę bardziej zaawansowane wizualizację i matematycznie zaawansowane obliczenia (podobno), które w Pythonie nie są dostępne. Osobiście jednak uważam, że w przeciwieństwie do R, Python ma zdecydowanie mniej ograniczeń na dalszym etapie użytkowania. Przede wszystkim łatwiej się integruję na produkcji i ma bogatszy pakiet machine learningowy (ML).

R w tym temacie nie odstaje i jest nawet lepszy w przygotowywaniu tego typu zestawień ad-hock.  Oba środowiska pozwalają tworzyć interaktywne wizualizacje. Python łatwiej zintegrować ze środowiskiem innych języków. Może to być istotne przy tworzeniu aplikacji mobilnych, gier czy stron internetowych. Na Pythona również jest trochę większe zapotrzebowanie prawdopodobnie przez swoją wszechstronność. 

Liczba ofert pracy na portalu Linkedin z dnia 24.09.2022 na terytorium Polski. Bez podziału na model pracy.

Wiem, mimo wszystko, że można płynnie przechodzić między R i Pythonem i są ku temu sposobności. Także nie chcąc podpadać jednej z grup, nic nie stoi na przeszkodzie uczyć się jednego lub drugiego języka. To jest tylko Twój wybór! Wszystko zależy od zespołu w jakim pracujesz. Jeżeli dominuje w nim R może warto zacząć od R. To samo tyczy się Twojego zaplecza. Jeżeli kończyłeś matematykę stosowaną lub masz mocne matematyczne zaplecze lepszym wyborem może być R.

Podsumowanie - Po co programowanie w Pythonie

Mam nadzieję, że odpowiedziałem Ci na pytanie zadane na wstępie. Za tydzień lub dwa zrobimy wprowadzenie do pythona, gdzie ściągnięmy niezbędne oprogramowanie i zrobimy prostą analizę. 

Jeżeli Cię zainteresowałem, to do zobaczenia! 

Pozdrawiam,

Mariusz