Python Pandas და SQL | 2026 წლის სახელმძღვანელო უწყვეტი მონაცემთა ანალიზისთვის

Python Pandas და SQL

Python Pandas და SQL მონაცემთა ანალიზის, მანქანური სწავლებისა და ETL მილსადენების საფუძველს ქმნიან. დიდი DataFrames-ის დამუშავება და მონაცემთა ბაზაში რთული მოთხოვნების გაშვება მოითხოვს ეფექტურობას კოდის სიცხადის შელახვის გარეშე.

ეს სახელმძღვანელო მოიცავს pandasql-ის დაყენებას და Pandas-ის მშობლიურ SQL მეთოდებს, წარმოგიდგენთ რეალურ სამყაროში DataFrame-ის შეკითხვის მაგალითებს და ასახავს ოპტიმიზაციის საუკეთესო პრაქტიკას. ანალიტიკის სამუშაო ნაკადები და ანგარიში.

რატომ გავაერთიანოთ Python Pandas და SQL?

პანდა არის Python-ის ბიბლიოთეკა, რომელიც შექმნილია მონაცემთა მანიპულირებისა და ანალიზისთვის. ის გამოიყენება ცხრილური მონაცემების დაჭრისა და ტრანსფორმაციისთვის. SQL (Structured Query Language), მეორეს მხრივ, წარმოადგენს ოქროს სტანდარტს რელაციური მონაცემთა ბაზების შეკითხვისთვის - მაგალითად, MySQL, PostgreSQL, SQLite და სხვა.

რატომ გავაერთიანოთ Python Pandas და SQL?

აი, რატომ არის ამ ორის შერწყმა თამაშის წესების შეცვლა:

იკითხება: SQL მოთხოვნები ხშირად უფრო ნათელია, ვიდრე Pandas-ის ექვივალენტური კოდი, განსაკუთრებით რთული ფილტრაციის, დაჯგუფებისა და შეერთებების შემთხვევაში.
ეფექტურობა: ბიზნეს მონაცემების უმეტესობა SQL მონაცემთა ბაზებშია. მათი პირდაპირ Pandas-ში გადატანა ნაკლებ ხახუნს და მონაცემთა სილოსების შემცირებას ნიშნავს.
მოქნილობა: შეგიძლიათ გამოიყენოთ SQL ინტენსიური მოთხოვნებისთვის, ხოლო Pandas - მოწინავე ანალიტიკისთვის, ვიზუალიზაციისთვის და მანქანა სწავლის.
მოსავლიანობა: მონაცემთა მეცნიერებსა და ანალიტიკოსებს შეუძლიათ მიჰყვნენ საყვარელ სინტაქსს, იქნება ეს SQL თუ Python, კონტექსტის შეცვლის გარეშე.

ხიდი: pandasql-ისა და Native Pandas SQL-ის ინტეგრაცია

pandasql საშუალებას იძლევა SQL მოთხოვნების შესრულება პირდაპირ Pandas DataFrames-ზე, რაც გამორიცხავს ამის საჭიროებას. ექსპორტის მონაცემები, ცალკე მონაცემთა ბაზის უზრუნველყოფა ან დამატებითი API-ების გამოყენება; მომხმარებლები უბრალოდ წერენ SQL ოპერატორებს, იღებენ შედეგად მიღებულ DataFrame-ს და შეუფერხებლად აგრძელებენ მუშაობას.

pandasql-ის ინსტალაცია

პითონი

pip install pandasql

ახლა თქვენ მზად ხართ, პროფესიონალივით შეურიოთ SQL და Pandas.

დაწყება: ძირითადი გამოყენება

მოდით განვიხილოთ მარტივი მაგალითი. დავუშვათ, რომ გაქვთ DataFrame:

პითონი

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)

ეს აბრუნებს სრულ DataFrame-ს, ისევე როგორც df.head() მაგრამ SQL სინტაქსის გამოყენებით. ახლა შეგიძლიათ გაფილტროთ, დააჯგუფოთ და გააერთიანოთ ისევე, როგორც ამას მონაცემთა ბაზაში გააკეთებდით.

რეალური მონაცემების ანალიზი Pandas-ისა და SQL-ის გამოყენებით

მოდით, პრაქტიკული მონაცემთა ნაკრებით ავიდეთ დონეზე. წარმოიდგინეთ, რომ აანალიზებთ ავტომობილების გაყიდვების მონაცემთა ნაკრებს სვეტებით, როგორიცაა brand, model, year, price, mileage, და სხვა.

მონაცემების ჩატვირთვა და შესწავლა

პითონი

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

თქვენ ნახავთ სვეტების სახელებს, მონაცემთა ტიპებიდა ნებისმიერი დაკარგული მნიშვნელობა - აუცილებელია მონაცემთა ხარისხიანი ანალიზისთვის.

SQL მოთხოვნების გაშვება DataFrames-ზე

1

ტოპ 10 ყველაზე ძვირადღირებული მანქანა

პითონი

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

ბრენდის მიხედვით საშუალო ფასი

პითონი

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

2015 წლის შემდეგ წარმოებული მანქანები

პითონი

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

ბრენდის მიხედვით ავტომობილების ჯამური რაოდენობა

პითონი

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

დაჯგუფება პირობით

პითონი

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

საშუალო გარბენი და ფასი ბრენდის მიხედვით

პითონი

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

ფასი მილზე

პითონი

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

მონაცემების ვიზუალიზაცია შტატების მიხედვით

ინტერაქტიული დაფებისთვის შეგიძლიათ ვიჯეტების და Plotly-ის გამოყენებაც კი:

პითონი

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)

ეს თქვენს ანალიზს ინტერაქტიულს და ვიზუალურად მიმზიდველს ხდის - იდეალურია დაფებისთვის ან პრეზენტაციები.

Pandasql-ის მიღმა: Native Pandas SQL ოპერაციები

მიუხედავად იმისა, რომ pandasql საუკეთესოა სწრაფი SQL სტილის მოთხოვნებისთვის, Pandas ასევე მხარს უჭერს SQL-ის პირდაპირ ინტეგრაციას რეალურ მონაცემთა ბაზებთან მუშაობისთვის (როგორიცაა SQLite, PostgreSQL, MySQL):

წაკითხვის_სკვლა(): კითხულობს SQL ცხრილს ან მოთხოვნას a-ში DataFrame.
to_sql (): წერს DataFrame-ს SQL ცხრილში.

მაგალითი: SQL-ში კითხვა და წერა

პითონი

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)

ეს მიდგომა იდეალურია ETL მილსადენებისთვის, ანგარიშგებისა და წარმოების მონაცემების სამუშაო პროცესებისთვის.

გაფართოებული გამოყენების შემთხვევები: ETL, მანქანური სწავლება და დაფები

SQL-ისა და Panda-ს გაფართოებული გამოყენების შემთხვევები

SQL-ისა და Pandas-ის გაერთიანება მხოლოდ შეკითხვების დასმას არ ეხება - ეს უფრო ჭკვიანი სამუშაო პროცესების შექმნას ეხება:

ETL მილსადენები: გამოიყენეთ SQL მონაცემთა მოპოვება და პანდები ტრანსფორმაციისა და ჩატვირთვისთვის.
A/B ტესტირება: SQL იღებს ექსპერიმენტის მონაცემებს; Python ატარებს სტატისტიკურ ტესტებს და ვიზუალიზაციას უკეთებს შედეგებს.
მანქანა სწავლა: SQL იღებს ფუნქციებს; Pandas და scikit-learn ამუშავებენ ფუნქციების ინჟინერიასა და მოდელირებას.
დაფები: SQL უზრუნველყოფს მონაცემთა ბექენდს; Python და Plotly ან Dash ქმნიან ინტერაქტიულ ფრონტენდებს.

Pandasql vs. Pure Pandas: როდის და რა გამოვიყენოთ?

მხატვრულიpandasql (SQL)სუფთა პანდები
სინტაქსიSQL (ბევრისთვის ნაცნობი)პითონი (მოქნილი, ძლიერი)
Readabilityმაღალი კომპლექსური მოთხოვნებისთვისშეუძლია ვრცელი იყოს
Performanceნელია ძალიან დიდ მონაცემთა ნაკრებებზეუფრო სწრაფი, პითონისთვის ოპტიმიზირებული
შეერთებები/დაჯგუფებაძალიან ინტუიციურიმეტი კოდი, მაგრამ მეტი ვარიანტი
ინტეგრაციისშესანიშნავია სწრაფი ანალიზისთვისსაუკეთესოა წარმოების სამუშაო პროცესებისთვის
Pro რჩევა:
მასიური მონაცემთა ნაკრებების ან საწარმოო კოდისთვის, მშობლიური Pandas ან პირდაპირი SQL კავშირები უფრო სწრაფი და საიმედოა. გამოიყენეთ pandasql კვლევისთვის, პროტოტიპების შესაქმნელად ან როდესაც SQL უბრალოდ უფრო ადვილად იკითხება.

შეზღუდვები და საუკეთესო პრაქტიკა

შესრულებით: pandasql შეიძლება უფრო ნელი იყოს დიდ DataFrames-ზე - განიხილეთ პირდაპირი Pandas ან SQLAlchemy მძიმე აწევისთვის.
ფუნქციონალობა: Pandas-ის ზოგიერთი მოწინავე ფუნქცია SQL-ში არ არის ხელმისაწვდომი და პირიქით.
სირთულე: მრავალსაფეხურიანი ტრანსფორმაციებისთვის, Pandas-ის მეთოდების ჯაჭვური დაყოფა შეიძლება უფრო ნათელი იყოს.
Scalability: დიდი მონაცემებისთვის იხილეთ Polars, Dask ან Spark DataFrames.

საბოლოო ფიქრები

Python Pandas-ისა და SQL-ის ინტეგრირებული გამოყენება მონაცემთა ანალიტიკოსებისთვის აუცილებელ კომპეტენციას წარმოადგენს, AI ინჟინრები და მკვლევარი სპეციალისტები. ეს მეთოდოლოგია რელაციური მონაცემთა ბაზის მოთხოვნების შესრულებას ადარებს პანდას ძლიერი DataFrame ოპერაციების, რაც აუმჯობესებს როგორც ეფექტურობას, ასევე კოდის სიცხადეს. Pandas-ის მშობლიურ SQL ინტეგრაციასთან ერთად, ისეთი ინსტრუმენტების გამოყენებით, როგორიცაა pandasql, გუნდებს შეუძლიათ ერთიან გარემოში განახორციელონ მონაცემთა ძიებითი ანალიზი (EDA), ძლიერი ETL სამუშაო პროცესები და მანქანური სწავლების მილსადენები.

დასამახსოვრებელი სტატისტიკა:

მონაცემთა მეცნიერების 80%-ზე მეტი ყოველდღიურ სამუშაო პროცესებში პანდას ეყრდნობა.
SQL კვლავ ყველაზე მოთხოვნადი უნარია მონაცემთა ვაკანსიები.
Python Pandas-ისა და SQL-ის გაერთიანებამ შეიძლება ანალიზის დრო 50%-მდე შეამციროს.

ამ ორმაგი მიდგომის გამოყენება უზრუნველყოფს მასშტაბირებად, მდგრად ანალიტიკურ პროცესებს და გუნდებს გრძელვადიანი წარმატებისთვის განათავსებს.

დატოვე პასუხი

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო. აუცილებელი ველები მონიშნულია *

ეს საიტი იყენებს Akismet- ს, რათა შეამციროს სპამი. შეიტყვეთ, როგორ მუშავდება თქვენი კომენტარების მონაცემები.

გაწევრიანდით Aimojo ტომი!

შემოუერთდით 76,200+ წევრს ინსაიდერული რჩევებისთვის ყოველ კვირას! 
🎁 BONUS: მიიღეთ ჩვენი 200 დოლარიAI „ოსტატობის ინსტრუმენტების ნაკრები“ უფასოა რეგისტრაციის შემდეგ!

Trending AI ინსტრუმენტები
Shortx AI

მასშტაბური ვირუსული მოკლე ვიდეოების წარმოების ავტომატიზაცია AI TikTok-ის, YouTube Shorts-ისა და Instagram Reels-ისთვის სახის გარეშე ვიდეოების შექმნა

AdPlexity

აღმოაჩინეთ კონკურენტების ყველაზე მომგებიანი სარეკლამო კამპანიები ექვს ტრაფიკის არხზე  ნომერ პირველი სარეკლამო ჯაშუშური ინსტრუმენტი, რომელსაც ენდობიან შვილობილი მარკეტოლოგები და მედია მყიდველები მთელი მსოფლიოს მასშტაბით.

Stockimg AI

ხელოვნური ინტელექტის გამოყენებით წამებში შექმენით პროფესიონალური ვიზუალი, ლოგოები და სოციალური კონტენტი ყველაფერი ერთშია AI დიზაინისა და სოციალური მედიის ავტომატიზაციის პლატფორმა.

Dupdub

შექმნა AI გახმოვანება, მოლაპარაკე ავატარები და მრავალენოვანი ვიდეო კონტენტი წუთებში ყველაფერი ერთში AI ხმისა და ვიდეოს შექმნის პლატფორმა კონტენტის შემქმნელებისთვის

ProPhotos AI

გადააქციეთ ჩვეულებრივი სელფები სტუდიური ხარისხის ფოტოებად 90 წუთზე ნაკლებ დროში თქვენი უსწრაფესი გზა დახვეწილი პროფესიონალური პორტრეტისკენ.

© საავტორო უფლებები 2023 - 2026 | გახდი AI პროფესიონალი | დამზადებულია ♥-ით