
Python Pandas ja SQL moodustavad andmeanalüüsi, masinõppe ja ETL-kanalite aluse. Suurte DataFrame'ide haldamine ja keerukate andmebaasipäringute käivitamine nõuab tõhusust, ohverdamata koodi selgust.
SQL-päringute manustamine Panda töövoogudesse kiirendab filtreerimist, koondamist ja liitmisi, säilitades samal ajal Pythoni paindlikkuse ja tulemuste järjepidevuse.
See juhend käsitleb pandasql-i seadistamist ja Panda natiivseid SQL-meetodeid, esitab reaalse maailma DataFrame'i päringute näiteid ning kirjeldab parimaid tavasid analüütika töövoogude ja aruandluse optimeerimiseks.
Miks ühendada Python Pandas ja SQL?
Pandas on Pythoni teek, mis on loodud andmete manipuleerimiseks ja analüüsimiseks. See on parim valik tabelina esitatud andmete viilutamiseks, tükeldamiseks ja teisendamiseks. SQL (Structured Query Language) seevastu on relatsioonandmebaaside päringute kuldstandard – näiteks MySQL, PostgreSQL, SQLite ja teised.

Sellepärast on nende kahe segamine mängumuutja:
Sild: pandasql ja Native Pandas SQL integratsioon
pandasql võimaldab SQL-päringute käivitamist otse Pandas DataFrame'ides, välistades vajaduse andmeid eksportida , eraldi andmebaasi luua või täiendavaid API-sid kasutusele võtta; kasutajad lihtsalt kirjutavad SQL-lauseid, saavad tulemuseks oleva DataFrame'i ja jätkavad katkematult.
Pandasql installimine
püüton
pip install pandasql
Nüüd oled valmis SQL-i ja Pandasid professionaalina ühendama.
Alustamine: Põhikasutus
Vaatame lihtsat näidet. Oletame, et teil on DataFrame:
püüton
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)
See tagastab täieliku DataFrame'i, täpselt nagu df.head() aga kasutades SQL-süntaksit. Nüüd saate filtreerida, grupeerida ja liita täpselt nagu andmebaasis.
Reaalse maailma andmete analüüs Pandade ja SQL-iga
Vaatame praktilist andmestikku. Kujutage ette, et analüüsite automüügi andmestikku, mille veerud on sellised brand, model, year, price, mileageJa palju muud.
Andmete laadimine ja uurimine
püüton
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())
Näete veerunimesid, andmetüüpe ja kõiki puuduvaid väärtusi – need on kvaliteetse andmeanalüüsi jaoks olulised.
SQL-päringute käivitamine DataFrame'idel
10 kõige kallimat autot
püüton
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
""")
Keskmine hind brändi järgi
püüton
q("""
SELECT brand, ROUND(AVG(price), 2) AS avg_price
FROM car_data
GROUP BY brand
ORDER BY avg_price DESC
""")
Pärast 2015. aastat toodetud autod
püüton
q("""
SELECT *
FROM car_data
WHERE year > 2015
ORDER BY year DESC
""")
Autode koguarv brändi järgi
püüton
q("""
SELECT brand, COUNT(*) as total_listed
FROM car_data
GROUP BY brand
ORDER BY total_listed DESC
LIMIT 5
""")
Grupeerimine tingimuse järgi
püüton
q("""
SELECT condition, ROUND(AVG(price), 2) AS avg_price, COUNT(*) as listings
FROM car_data
GROUP BY condition
ORDER BY avg_price DESC
""")
Keskmine läbisõit ja hind margi järgi
püüton
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
""")
Hind miili kohta
püüton
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
""")
Andmete visualiseerimine osariikide kaupa
Interaktiivsete armatuurlaudade jaoks saate kasutada isegi vidinaid ja Plotlyt:
püüton
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)
See muudab teie analüüsi interaktiivseks ja visuaalselt atraktiivseks – ideaalne armatuurlaudade või esitluste jaoks.
Lisaks pandasql-ile: Panda natiivsed SQL-operatsioonid
Kuigi pandasql on kiirete SQL-stiilis päringute äss, toetab Pandas ka otsest SQL-integratsiooni töötamiseks tegelike andmebaasidega (nt SQLite, PostgreSQL, MySQL):
Näide: SQL-i lugemine ja kirjutamine
püüton
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)
See lähenemisviis sobib ideaalselt ETL-i torujuhtmete, aruandluse ja tootmisandmete töövoogude jaoks.
Täiustatud kasutusjuhud: ETL, masinõpe ja armatuurlauad

SQL-i ja Pandase kombineerimine ei seisne ainult päringute tegemises – see hõlmab nutikamate töövoogude loomist:
Pandasql vs. Pure Pandas: Millal ja mida kasutada?
| tunnusjoon | pandasql (SQL) | Puhtad pandad |
|---|---|---|
| Süntaks | SQL (paljudele tuttav) | Python (paindlik, võimas) |
| loetavus | Kõrge keerukate päringute puhul | Võib minna pikalt jutustavaks |
| jõudlus | Aeglasem väga suurte andmekogumite puhul | Kiirem, Pythoni jaoks optimeeritud |
| Liitumised/Grupeerimine | Väga intuitiivne | Rohkem koodi, aga rohkem valikuid |
| Integratsioon | Suurepärane kiireks analüüsiks | Parim tootmisprotsesside jaoks |
Piirangud ja parimad tavad
Final Thoughts
Python Panda ja SQL-i integreeritud kasutamine on andmeanalüütikute jaoks oluline pädevus. AI insenerid ja teadustöötajad. See metoodika viib relatsioonandmebaaside päringute kooskõlla Pandade võimas DataFrame toimingud, suurendades nii tõhusust kui ka koodi selgust. Kasutades selliseid tööriistu nagu pandasql koos Pandase natiivse SQL-integratsiooniga, saavad meeskonnad teostada uurimuslikku andmeanalüüsi (EDA), robustseid ETL-töövooge ja masinõppe protsesse sidusas keskkonnas.
Statistika, mida meeles pidada:
Selle kahesuunalise lähenemisviisi omaksvõtmine tagab skaleeritavad ja hooldatavad analüüsiprotsessid ning positsioneerib meeskonnad pikaajaliseks eduks.
Tahad hoida oma AI ja andmeoskused on teravad?
Avastage rohkem õpetusi õigusteaduse magistriõppe (LLM), kiirtehnika, RAGi ja muude teemade kohta. AI agendi töövood. Jälgige lisajuhendeid ja praktilisi näiteid saidilt AI MOJO


