Python Pandas i SQL | Przewodnik po bezproblemowej analizie danych w 2026 r.

Python Pandas i SQL

Python Pandas i SQL stanowią podstawę analizy danych, uczenia maszynowego i potoków ETL. Obsługa dużych ramek danych i uruchamianie złożonych zapytań do bazy danych wymaga wydajności bez poświęcania przejrzystości kodu.

W tym przewodniku omówiono konfigurację Pandasql i natywne metody SQL biblioteki Pandas, zaprezentowano przykłady rzeczywistych zapytań DataFrame oraz najlepsze praktyki optymalizacji przepływów pracy analitycznej i raportowania.

Dlaczego warto połączyć Python Pandas i SQL?

Pandas to biblioteka Pythona stworzona do manipulacji i analizy danych. To idealne narzędzie do dzielenia, podziału i transformacji danych tabelarycznych. Z drugiej strony, SQL (Structured Query Language) to złoty standard w zapytaniach do relacyjnych baz danych – takich jak MySQL, PostgreSQL, SQLite i inne.

Dlaczego warto połączyć Python Pandas i SQL?

Oto dlaczego połączenie tych dwóch rozwiązań zmienia zasady gry:

Czytelność: Zapytania SQL są często bardziej przejrzyste niż odpowiadający im kod Pandas, zwłaszcza w przypadku złożonych operacji filtrowania, grupowania i łączenia.
Wydajność: Większość danych biznesowych znajduje się w bazach danych SQL. Przeniesienie ich bezpośrednio do Pandas oznacza mniej tarcia i mniej silosów danych.
Elastyczność: Do wykonywania skomplikowanych zapytań można używać języka SQL, a do zaawansowanych analiz, wizualizacji i uczenie maszynowe.
Wydajność: Naukowcy i analitycy danych mogą korzystać ze swojej ulubionej składni, niezależnie od tego, czy jest to SQL czy Python, bez konieczności przełączania kontekstu.

Most: pandasql i natywna integracja Pandas SQL

pandasql umożliwia wykonywanie zapytań SQL bezpośrednio w Pandas DataFrames, eliminując potrzebę eksportowania danych , tworzenia oddzielnej bazy danych lub korzystania z dodatkowych interfejsów API; użytkownicy po prostu piszą polecenia SQL, otrzymują wynikową DataFrame i mogą kontynuować pracę bez żadnych przerw.

Instalowanie pandasqla

pyton

pip install pandasql

Teraz możesz łączyć SQL i Pandas jak profesjonalista.

Pierwsze kroki: podstawowe użytkowanie

Przeanalizujmy prosty przykład. Załóżmy, że masz DataFrame:

pyton

import pandas as pd
import pandasql as psql

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

query = "SELECT * FROM df"
result = psql.sqldf(query, locals())
print(result)

Zwraca pełną ramkę danych, tak jak df.head() ale używając składni SQL. Teraz możesz filtrować, grupować i łączyć tak jak w bazie danych.

Analiza danych w świecie rzeczywistym z wykorzystaniem Pandas i SQL

Przejdźmy do praktycznego zestawu danych. Wyobraź sobie, że analizujesz zestaw danych sprzedaży samochodów z kolumnami takimi jak brand, model, year, price, mileage.

Ładowanie i eksploracja danych

pyton

import pandas as pd
import pandasql as ps

car_data = pd.read_csv("cars_datasets.csv")
print(car_data.head())

print(car_data.info())
print(car_data.isnull().sum())

Zobaczysz nazwy kolumn, typy danych i wszelkie brakujące wartości, które są niezbędne do analizy danych wysokiej jakości.

Uruchamianie zapytań SQL w DataFrame

1

10 najdroższych samochodów

pyton

def q(query):
    return ps.sqldf(query, {'car_data': car_data})

q("""
SELECT brand, model, year, price
FROM car_data
ORDER BY price DESC
LIMIT 10
""")
2

Średnia cena według marki

pyton

q("""
SELECT brand, ROUND(AVG(price), 2) AS avg_price
FROM car_data
GROUP BY brand
ORDER BY avg_price DESC
""")
3

Samochody wyprodukowane po 2015 roku

pyton

q("""
SELECT *
FROM car_data
WHERE year > 2015
ORDER BY year DESC
""")
4

Całkowita liczba samochodów według marki

pyton

q("""
SELECT brand, COUNT(*) as total_listed
FROM car_data
GROUP BY brand
ORDER BY total_listed DESC
LIMIT 5
""")
5

Grupowanie według stanu

pyton

q("""
SELECT condition, ROUND(AVG(price), 2) AS avg_price, COUNT(*) as listings
FROM car_data
GROUP BY condition
ORDER BY avg_price DESC
""")
6

Średni przebieg i cena według marki

pyton

q("""
SELECT brand,
ROUND(AVG(mileage), 2) AS avg_mileage,
ROUND(AVG(price), 2) AS avg_price,
COUNT(*) AS total_listings
FROM car_data
GROUP BY brand
ORDER BY avg_price DESC
LIMIT 10
""")
7

Cena za milę

pyton

q("""
SELECT brand,
ROUND(AVG(price/mileage), 4) AS price_per_mile,
COUNT(*) AS total
FROM car_data
WHERE mileage > 0
GROUP BY brand
ORDER BY price_per_mile DESC
LIMIT 10
""")
8

Wizualizacja danych według stanu

Do tworzenia interaktywnych pulpitów nawigacyjnych można używać widżetów i Plotly:

pyton

import plotly.express as px
import ipywidgets as widgets

state_dropdown = widgets.Dropdown(
    options=car_data['state'].unique().tolist(),
    value=car_data['state'].unique()[0],
    description='Select State:',
    layout=widgets.Layout(width='50%')
)

def plot_avg_price_state(state_selected):
    query = f"""
    SELECT brand, AVG(price) AS avg_price
    FROM car_data
    WHERE state = '{state_selected}'
    GROUP BY brand
    ORDER BY avg_price DESC
    """
    result = q(query)
    fig = px.bar(result, x='brand', y='avg_price', color='brand',
                 title=f"Average Car Price in {state_selected}")
    fig.show()

widgets.interact(plot_avg_price_state, state_selected=state_dropdown)

Dzięki temu Twoja analiza będzie interaktywna i atrakcyjna wizualnie — idealna do wyświetlania na pulpitach nawigacyjnych i w prezentacjach.

Poza pandasql: natywne operacje Pandas SQL

Podczas gdy pandasql doskonale nadaje się do szybkich zapytań w stylu SQL, Pandas obsługuje także bezpośrednią integrację SQL, umożliwiającą pracę z prawdziwymi bazami danych (takimi jak SQLite, PostgreSQL, MySQL):

odczyt_sql():Odczytuje tabelę SQL lub zapytanie do Ramka danych.
to_sql(): Zapisuje DataFrame do tabeli SQL.

Przykład: Odczyt i zapis do SQL

pyton

import pandas as pd
import sqlite3

# Connect to SQLite database
conn = sqlite3.connect(":memory:")

# Create a table and insert data
conn.execute("CREATE TABLE Students (id INTEGER, Name TEXT, Marks REAL, Age INTEGER)")
conn.execute("INSERT INTO Students VALUES (1, 'Kiran', 80, 16), (2, 'Priya', 60, 14), (3, 'Naveen', 82, 15)")

# Read from SQL
df = pd.read_sql("SELECT * FROM Students", conn)
print(df)

# Write to SQL
df.to_sql("Students_Copy", conn, if_exists="replace", index=False)

To podejście doskonale sprawdza się w przypadku procesów ETL, raportowania i przepływów pracy obejmujących dane produkcyjne.

Zaawansowane przypadki użycia: ETL, uczenie maszynowe i pulpity nawigacyjne

Zaawansowane przypadki użycia SQL i Pandas

Połączenie języka SQL i Pandas nie dotyczy tylko wykonywania zapytań, ale także tworzenia inteligentniejszych przepływów pracy:

Rurociągi ETL: Użyj SQL dla ekstrakcja danych i Pandas do transformacji i ładowania.
Testy A/B: SQL pobiera dane eksperymentalne; Python uruchamia testy statystyczne i wizualizuje wyniki.
Nauczanie maszynowe: SQL pobiera funkcje; Pandas i scikit-learn obsługują inżynierię i modelowanie funkcji.
Pulpity nawigacyjne: Bazę danych stanowią język SQL; Python i Plotly lub Dash tworzą interaktywne front-endy.

Pandasql kontra Pure Pandas: kiedy używać którego?

Cechapandasql (SQL)Czyste pandy
SkładniaSQL (znany wielu)Python (elastyczny, wydajny)
czytelnośćWysoka dla złożonych zapytańMoże stać się gadatliwy
WydajnośćWolniejsze w przypadku bardzo dużych zestawów danychSzybciej, zoptymalizowany dla Pythona
Łączenie/grupowanieBardzo intuicyjnyWięcej kodu, ale więcej opcji
IntegracjaŚwietne do szybkiej analizyNajlepszy dla przepływów pracy produkcyjnej
Porada profesjonalisty:
W przypadku ogromnych zestawów danych lub kodu produkcyjnego, natywne Pandas lub bezpośrednie połączenia SQL są szybsze i bardziej niezawodne. Użyj pandasql do eksploracji, prototypowania lub gdy SQL jest po prostu łatwiejszy do odczytania.

Ograniczenia i najlepsze praktyki

Wydajność: pandasql może być wolniejszy w przypadku dużych ramek danych — rozważ bezpośrednie Pandas lub SQLAlchemy do podnoszenia ciężarów.
funkcjonalność: Niektóre zaawansowane funkcje Pandas nie są dostępne w języku SQL i odwrotnie.
Złożoność: W przypadku transformacji wieloetapowych łączenie metod Pandas może być bardziej przejrzyste.
Skalowalność: W przypadku dużych zbiorów danych warto rozważyć Polars, Dask lub Spark DataFrames.

Uwagi końcowe

Zintegrowane wykorzystanie Python Pandas i SQL stanowi podstawową kompetencję analityków danych, AI inżynierów i profesjonalistów badawczych. Ta metodologia dostosowuje zapytania do relacyjnej bazy danych Potężny DataFrame firmy Pandas operacje, zwiększając zarówno wydajność, jak i przejrzystość kodu. Wykorzystując narzędzia takie jak pandasql wraz z natywną integracją SQL Pandas, zespoły mogą wykonywać eksploracyjną analizę danych (EDA), solidne przepływy pracy ETL i potoki uczenia maszynowego w spójnym środowisku.

Statystyki, o których warto pamiętać:

Ponad 80% naukowców zajmujących się danymi wykorzystuje Pandas w swoich codziennych procesach pracy.
SQL pozostaje najczęściej poszukiwaną umiejętnością oferty pracy dane.
Połączenie Python Pandas i SQL może skrócić czas analizy nawet o 50%.

Przyjęcie tego dwutorowego podejścia gwarantuje skalowalne i łatwe w utrzymaniu procesy analityczne oraz przygotowuje zespoły do ​​osiągania długoterminowych sukcesów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola oznaczone * są obowiązkowe.

Ta strona używa Akismet do redukcji spamu. Dowiedz się, jak przetwarzane są dane z Twoich komentarzy.

Dołącz Aimojo Plemię!

Dołącz do ponad 76,000 XNUMX członków i otrzymuj co tydzień fachowe porady! 
???? BONUS: Odbierz nasze 200 dolarówAI „Zestaw narzędzi Mastery Toolkit” GRATIS po rejestracji!

Trendy AI Narzędzia
DostępiBe

AI Prosta zgodność z ADA i EAA Zautomatyzowane wsparcie w zakresie napraw WCAG i postępowań sądowych dla każdej firmy

MówON

Zamień każdą wygłoszoną myśl w dopracowany tekst gotowy do natychmiastowego wysłania Pierwszy na świecie AI sprzęt komunikatora dla iPhone'a

Zboczenie AI

Twoja fantazja, Twoje zasady: poznaj Kink AI Poznaj BDSM Roleplay i czat fantasy z Kink AI

 

Aifetchly

Otwarte oprogramowanie AI Agent, który przywróci automatyzację biznesową na Twoim komputerze Pierwsze lokalne wydarzenie AI przestrzeń robocza do badań, dokumentów i zaplanowanych przepływów pracy.

Bulin AI

Zamień dowolne zdjęcie w viralowy występ Bulin 47 Freestyle w kilka sekund AI generator wideo stworzony na potrzeby jednej kultowej sceny ulicznej.

© Copyright 2023 - 2026 | Zostań AI Pro | Wykonane z ♥