Python Pandas ja SQL | Sujuva andmeanalüüsi juhend 2026. aastal

Pythoni pandad ja SQL

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.

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.

Miks ühendada Python Pandas ja SQL?

Sellepärast on nende kahe segamine mängumuutja:

Loetavus: SQL-päringud on sageli selgemad kui samaväärsed Panda koodid, eriti keeruka filtreerimise, rühmitamise ja liitumiste puhul.
Kasutegur: Enamik äriandmeid asub SQL-andmebaasides. Nende otse Pandasse toomine tähendab vähem hõõrdumist ja vähem andmesilosid.
Paindlikkus: SQL-i saab kasutada keerukate päringute tegemiseks ja Pandas täiustatud analüüsi, visualiseerimise ja muu jaoks. masinõpe.
Tootlikkus: Andmeteadlased ja analüütikud saavad jääda oma lemmiksüntaksi juurde, olgu see siis SQL või Python, ilma konteksti vahetamata.

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

1

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
""")
2

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
""")
3

Pärast 2015. aastat toodetud autod

püüton

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

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
""")
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
""")
6

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
""")
7

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
""")
8

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):

read_sql(): Loeb SQL-tabeli või -päringu DataFrame.
to_sql(): Kirjutab DataFrame'i SQL-tabelisse.

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 edasijõudnute kasutusjuhud

SQL-i ja Pandase kombineerimine ei seisne ainult päringute tegemises – see hõlmab nutikamate töövoogude loomist:

ETL torujuhtmed: Kasutage SQL-i andmete väljavõtmine ja Pandad ümberkujundamiseks ja laadimiseks.
A/B testimine: SQL hangib katseandmeid; Python käivitab statistilisi teste ja visualiseerib tulemusi.
Masinõpe: SQL hangib funktsioone; Pandas ja scikit-learn tegelevad funktsioonide kavandamise ja modelleerimisega.
Armatuurlauad: SQL toetab andmete taustsüsteemi; Python ja Plotly või Dash loovad interaktiivseid kasutajaliideseid.

Pandasql vs. Pure Pandas: Millal ja mida kasutada?

tunnusjoonpandasql (SQL)Puhtad pandad
SüntaksSQL (paljudele tuttav)Python (paindlik, võimas)
loetavusKõrge keerukate päringute puhulVõib minna pikalt jutustavaks
jõudlusAeglasem väga suurte andmekogumite puhulKiirem, Pythoni jaoks optimeeritud
Liitumised/GrupeerimineVäga intuitiivneRohkem koodi, aga rohkem valikuid
IntegratsioonSuurepärane kiireks analüüsiksParim tootmisprotsesside jaoks
Pro tip:
Massiivsete andmekogumite või tootmiskoodi puhul on natiivsed Pandad või otseühendused SQL-iga kiiremad ja töökindlamad. Kasutage pandasql-i uurimiseks, prototüüpide loomiseks või kui SQL-i on lihtsalt lihtsam lugeda.

Piirangud ja parimad tavad

Performance: pandasql võib suurte DataFrame'ide puhul olla aeglasem – kaaluge otse Pandasid või SQLAlchemy raskete tõstmiseks.
Funktsionaalsus: Mõned Pandase täiustatud funktsioonid pole SQL-is saadaval ja vastupidi.
Keerukus: Mitmeastmeliste teisenduste puhul võib Panda meetodite aheldamine olla selgem.
Skaalautuvuus: Suurandmete puhul vaadake Polarsi, Daski või Sparki DataFrame'e.

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:

Üle 80% andmeteadlastest tugineb oma igapäevastes töövoogudes Pandadele.
SQL on endiselt kõige nõutum oskus andmetega seotud töökuulutused.
Python Panda ja SQL-i kombineerimine võib analüüsiaega vähendada kuni 50%.

Selle kahesuunalise lähenemisviisi omaksvõtmine tagab skaleeritavad ja hooldatavad analüüsiprotsessid ning positsioneerib meeskonnad pikaajaliseks eduks.

Jäta vastus

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on tähistatud tärniga *.

See sait kasutab rämpsposti vähendamiseks Akismetit. Siit saate teada, kuidas teie kommentaaride andmeid töödeldakse.

Liitu Aimojo Hõim!

Liituge 76,000 XNUMX+ liikmega, et saada igal nädalal siseringi nõuandeid! 
🎁 BONUS: Hankige meie 200 dollaritAI "Meisterlikkuse tööriistakomplekt" TASUTA registreerumisel!

Trendid AI TÖÖRIISTAD
ligipääsetav

AI ADA ja EAA nõuetele vastavuse lihtsustamine Automatiseeritud WCAG-i parandus- ja kohtuvaidluste tugi igale ettevõttele

SpeakON

Muutke iga öeldud mõte viimistletud ja koheselt saatmiseks valmis tekstiks Maailma esimene AI iPhone'i kommunikaatori riistvara

Kink AI

Sinu fantaasia, sinu reeglid: avasta Kink AI-d. Avasta BDSM-rollimänge ja fantaasiavestlust Kink AI-ga.

 

Aifetchly

Avatud lähtekoodiga AI Agent, mis taastab teie arvuti äriautomaatika Kohalik esmakordne AI tööruum uuringute, dokumentide ja ajastatud töövoogude jaoks.

Bulini tehisintellekt

Muuda iga foto sekunditega viiruslikuks Bulin 47 vabastiili etenduseks . AI ühe ikoonilise tänavapildi jaoks loodud videogeneraator.

© Autoriõigus 2023 - 2026 | Hakka AI Pro | Valmistatud ♥-ga