Często spotykasz, szczególnie od osób ze świata szeroko pojętego programowania, aby rozpocząć od Pythona. „To «prawdziwy» język programowania”, powiedzą. „Jest bardziej zaawansowany, potężniejszy i możesz w nim wszystko”.
I właśnie dlatego, że ludzie się mylą.
Dla zdecydowanej liczby osób rozpoczynających kurs analizy danych lub dostarczających w tej branży, czy jako analityk danych, analityk biznesowy, analityk produktu, czy nawet data science, nauka Pythona w pierwszej kolejności jest jak nauka pisania błyskotliwej analizy literackiej, zanim nauczysz się czytać. Do postawienia wszystkiego na głowie.
Prawda jest taka, że punkt startowy powinien być podyktowany twoimi celami. Jeśli twój cel jest pracą z danymi prawnymi w kontekście biznesowym, odpowiedź jest jasna: zacznij od SQL . Dziesięć artykułów uzasadnionych, dlaczego „najpierw SQL” jest najszybszą i następczą drogą do wartościowego specjalisty oraz jak popularna rada „najpierw Python” może zostać powiadomiona o frustracji i nieefektywności.
Zrozumienie graczy: opowieść o dwóch językach
Zanim zagłębimy się w „dlaczego”, wyjaśnijmy „co”. Kluczowe jest zrozumienie, że SQL i Python nie są wymiennymi narzędziami walczącymi z samym stanowiskiem. Są zasadniczo różne, które mogą dotyczyć innych celów i być najlepszym rozwiązaniem jako partnerzy, a nie rywale.
Czym jest SQL? Język danych
SQL (Structured Query Language) nie jest językiem nauczania ogólnego przeznaczenia. Nie zbudujesz w nim strony internetowej ani aplikacji mobilnej. Jego cel jest jeden i bardzo dostępny: komunikacja z relacyjnymi bazami danych.
Wyobraź sobie sobie, nienagannie zorganizowaną bibliotekę. Ta biblioteka do twojej bazy danych, przechowująca czytniki danych (punktów danych). SQL do mistrza bibliotekarstwa, z którym rozmawiasz. Nie przechowuj bibliotekarzowi, jak ma iść między regałami, wspinać się po drabinie i dostępnych kartach katalogowych. Po prostu składany jasną, ustrukturyzowaną użycie: „Przynieś mi wszystkie książki o historii marynarki wojennej XVIII wieku obejmującej w latach 1980-2000”.
Jest to język deklaratywny . Deklarujesz, że chcesz otrzymać, system zarządzania bazą danych (bibliotekarz) przygotowanya w sposób, aby ci do przechowywania. Jego główne zadania to:
-
pobieranie danych: wybieranie (SELECT) kolumny z tabeli,
-
filtrowanie danych: stosowanie przepisów WHERE w celu zawężenia wyników,
-
połączenie danych: JOIN łączy informacje z wieloma tabelami,
-
agregacja danych: funkcje takie jak COUNT, SUM, AVG, GROUP BY do wykonywania obliczeń i podsumowywania informacji.
W istocie SQL jest uniwersalnym kluczem, który otwiera skarbiec, a kluczem są wszystkie cenne dane.
Czym jest Python? Warsztat wielofunkcyjny
Jeśli SQL jest specjalistycznym kluczem, Python jest całym warsztatem. Do języka programowania udostępniającego ogólne przeznaczenie. Możesz w nim budować strony internetowe (używając frameworków, takich jak Django lub Flask), automatyzować zadania, tworzyć oprogramowanie i, oczywiście, umieszczać wyrafinowane funkcje danych.
Wracając do naszej analogii z biblioteką: Python do badacza, którego zatrudniasz po tym, jak bibliotekarz akademicki ci stos książek. Dziesięć badaczy może zostać stworzonych, podłączonych do siebie, zidentyfikowanych wzorców, opracowanych przez modele statystyczne na podstawie danych, tworzących wykresy wizualizacyjne dotyczące wyników końcowych i nowego, syntetycznego raportu opartego na podstawie.
Jest to język imperatywny . Mówisz mu, jak ma coś do zrobienia, krok po kroku. Aby analizować dane, nie stosować samego Pythona, lecz narzędzia bibliotekch na jego fundamencie:
-
Pandas: do tworzenia i tworzenia struktury danych pochodzących z DataFrames (pomyśl o arkuszach kalkulacyjnych o supermocach wewnątrz zamkniętych kodu),
-
NumPy: składa się z operacji numerycznych i matematycznych,
-
Matplotlib & Seaborn: do tworzenia gier statycznych, animowanych i interaktywnych wizualizacji,
-
scikit-learn: wykonaj aktualizację algorytmów uczenia maszynowego.
Siła Pythona jest jego wszechstronność oraz zdolność do wykonywania obliczeń i manipulacji na danych, gdy już je posiadasz.
Przepływ pracy z danymi w środowisku rzeczywistym: rzeczywistość
Aby rozróżnienie sprawia, że argument „najpierw SQL” rośnie na sile. Aby zrozumieć, dlaczego, należy wiedzieć, jak praca z danymi w firmie w praktyce. To nie jest teoretyczne rozwiązanie na czysty plik CSV pobrany ze strony kursu.
To Process, który prawie zawsze musi tak:
-
Pytanie biznesowe. Wszystko zaczyna się od pytań. „Dlaczego liczba rejestracji użytkowników spadła o 10% w systemie operacyjnym północno-wschodnim?” lub „Które funkcji marketingowych mają najlepszy zwrot z inwestycji dla klientów produktów X?”.
-
Pobieranie i pobieranie danych. Dane potrzebne do odpowiedzi na pytanie, które nie znajduje się w pliku na pulpicie. Żyją w produktach produkcyjnych danych danych. A najpewniej w wielu bazach danych. Informacje o klientach są w jednej tabeli, dane o transakcjach w drugiej, a dane o atrybucji marketingowej w lokalizacji. Pierwszym rozwiązaniem jest wypróbowanie tych danych. Dziesięć kroków do 100% SQL. Wyślij zapytanie , aby skorzystać z użytkownika, połączyć się z transakcją i przefiltrować daty i regionu.
-
Eksploracja, czyszczenie i transformacja. Surowe dane, które pobrałeś, rzadko są idealne. Możesz mieć brakujące wartości, oddzielne typy danych lub wartości odstające. Być może będziesz mieć nowe cechy (np. obliczenie wartości życiowej klienta). Tu błyszczy Python, a główna biblioteka Pandas. Ładujesz wyniki zapytań SQL do DataFrame i zaczynasz go czyścić oraz formować.
-
Analiza i modelowanie. Teraz, gdy masz czyste, ustrukturyzowane dane, możesz znaleźć rozwiązanie na pytanie. Może to być dostępne proste agregacje, które mogą być używane w SQL, lub bardziej zaawansowane techniki, takie jak modelowanie statystyczne lub uczenie maszynowe (które są domeną Pythona).
-
Wizualizacja i komunikacja. Odpowiedź jest bezużyteczna, jeśli nie można jej zabezpieczyć. Używasz narzędzi, takich jak Matplotlib lub Seaborn w Pythonie lub poszczególnych narzędzi Business Intelligence (BI), takich jak Tableau lub Power BI (które, nawiasem mówiąc, często używane nazwy do SQL pod maską), aby utworzyć wykresy i pulpity nawigacyjne opowiadające historie.
Uwaga na dostęp. Krok 2, czyli brama do wszystkiego innego, której nie da się wywołać, do SQL. Nie można wykonać kroków 3, 4 ani 5, jeśli nie przejdziesz przez krok 2.
Dlaczego należy od SQL do wyjścia ścieżki?
Nauka Pythona w pierwszej kolejności jest trenowana do maratonu poprzez wyłącznie finałowego sprintu. Przegapiasz pierwsze 42 kilometry wyznacznika. Oto dlaczego odrzucenie skryptu i aplikacji od SQL jest bardziej skuteczne:
1. To warunek wstępny do realnej pracy
Możesz być czarodziejem Pythona, mistrzem listy składanych i programowania obiektowego. Ale jeśli nie potrafisz wydobyć danych z firmowej bazy danych, jesteś funkcjonalnie bezużyteczny jako analityk danych. niezależny od inżynierów danych, który będzie dostarczać ci eksporty do CSV, co jest wolnym, nieefektywnym i uniemożliwiającym swobodną eksplorację danych. Nauka SQL jako pierwsza sprawia, że od pierwszego dnia jesteś samowystarczalny.
2. Szybszy czas do osiągnięcia wartości
Możesz przechowywać wymierną wartość biznesową, znając tylko SQL. Dobrze rozwinięte zapytanie SQL może zawierać podstawowe pytania biznesowe, zasilić pulpit nawigacyjny lub wygenerować raport, który znajduje się na liście poleceń biznesowych. Można uzyskać dostęp jako analityk danych, analityk biznesowy lub analityk marketingowy, jako jedyny dostępny SQL. Tego samego nie można powiedzieć o Pythonie. Pythona bez SQL w odniesieniu do danych jest to, że fantazyjnego kalkulatora bez jakichkolwiek dodatkowych, które można zastosować przez niego.
3. Uczy myślenia o danych
SQL wymaga dołączenia struktury danych. Uczysz się o schematach, tabelach, typach danych, kluczach głównych i obcych oraz logice relacyjnej. To fundamentalna architektura tego, jak firmy przechowują informacje. Zrozumienie tych pojęć stanowi solidne podstawy, zawierające naukę takich narzędzi jak Pandas w Pythonie, które staje się późniejszym niekończeniem bardziej praktycznym. Zrozumiesz, dlaczego doszło do połączenia merge w Pandas, już opanowałeś JOIN w SQL.
4. SQL jest wszechobecny i trwały
Trendy stosowania i odchodzenia. Biblioteki Pythona ewoluują, pojawiają się nowe języki. Ale od ponad 40 lat SQL pozostaje niezachwianym standardem z ustrukturyzowanymi danymi. Znacząca firma, o której pomyślisz, od malutkich startupów po gigantów FAANG, działa na bazach danych komunikujących się w języku SQL. Jest to pojedyncza, najbardziej poszukiwana i uniwersalna dystrybucja w całym ekosystemie danych.
Pułapka „najpierw Python”
Aspirujący krytyczny, który zaczyna od Pythona, często wpada w powszechną pułapkę. Spędzające miesiące na nauce składni Pythona i zawiłości Pandy. Staje się ekspertem w importowaniu plików CSV i jest manipulowany na swoim komputerze. Czuje się produktywny.
Najpierw pierwszą pierwszą pracę. Pierwszego dnia dostępu do oprogramowania korporacyjnego danych z zestawami tabel. Menedżer prosi o zbadanie wpływu zaangażowania użytkowników. Nagle jego umiejętności pd.read_csv() są bezużyteczne. Dane nie są w pliku CSV. Są zamknięte w danych, a kluczem jest SQL. Uderza w ścianie, a jego pierwsze tygodnie to gorączkowa próba nauki narzędzi, od której powinien był zacząć.
Odpowiedni czas na Pythona
Powyższy artykuł nie jest wymierzony przeciwko Pythonowi. Python jest wyposażony w moduły elektryczne dla każdego urządzenia specjalistycznego od danych. Argument dotyczy kolejności. Python do turbosprężarki, który dostarcza do silnika, a nie sam silnik.
Należy zacząć uczyć się Pythona, gdy zaczniesz zadawać pytania, na które SQL z trudem odpowiada:
-
gdy zaawansowanej statystyki: aplikacja regresji logicznej, aby uzyskać dostęp do produktów (churn). SQL tego nie potrafi,
-
gdy uczenia się maszynowego: chcesz stworzyć silnik rekomendacji lub model prognozowania, to naturalne środowisko Pythona,
-
gdy powiązane struktury, iteracyjne czyste dane: masz niechlujne dane tekstowe, które składają się z logiki i niestandardowych funkcji do przetworzenia, robienie tego w SQL ukrytym koszmarem, w Pythonie jest to proste,
-
gdy chcesz zautomatyzować proces: utwórz skrypt, który automatycznie pobierze dane, a podstawowy raport wyśle go e-mailem do każdego ranka, do zadania dla Pythona.
Naucz się SQL, aby zrozumieć swoje dane i mieć do nich dostęp. Dowiedz się, że Pythona, aby wznieść swoją wersję raportu z przeszłości na poziom przewidywania przyszłości. SQL wprowadza cię do gry, a Python pomaga ci ją usunąć.