Bạn có thể kết hợp sql và python không?

import pandas as pd
​
# Country and its capitals
capitals = pd.DataFrame[
    {'Country':['Afghanistan','Argentina','Australia','Canada','China','France','India','Nepal','Russia','Spain'],
     'ISO' : ['AF','AR','AU','CA','CN','FR','IN','NP','RU','ES'],
     'Capital' : ['Kabul','Buenos_Aires','Canberra','Ottawa','Beijing','Paris','New_Delhi','Katmandu','Moscow','Madrid'] },
    columns=['Country', 'ISO', 'Capital']]
​
# Country and its currencies
currency = pd.DataFrame[
    {'Country':['France','India','Nepal','Russia','Spain','Sri_Lanka','United_Kingdom','USA','Uzbekistan','Zimbabwe'],
     'Currency' : ['Euro','Indian_Rupee','Nepalese_Rupee','Rouble','Euro','Rupee','Pound','US_Dollar','Sum_Coupons','Zimbabwe_Dollar'],
     'Digraph' : ['FR','IN','NP','RU','ES','LK','GB','US','UZ','ZW'] },
    columns=['Country', 'Currency', 'Digraph']]

Các ứng dụng phân tích trong thế giới thực thường được xây dựng bằng nhiều ngôn ngữ lập trình khác nhau, mỗi ngôn ngữ cần truy cập trực tiếp vào dữ liệu được lưu trữ trong cơ sở dữ liệu. Mục tiêu cuối cùng là tạo ra một quy trình phân tích tự động từ trích xuất dữ liệu [với SQL], đến phát triển mô hình và theo dõi hiệu suất liên tục. Đã lâu rồi chuyển dữ liệu qua các tệp phẳng độc lập

Cơ sở dữ liệu quan hệ và SQL đã trở thành độc quyền trong nhiều thập kỷ và là ngôn ngữ kịch bản toàn sao dành cho phân tích, Python hỗ trợ tốt cho API SQL, cho phép người dùng lấy dữ liệu trực tiếp. Trong blog này, tôi sẽ chia sẻ 3 cách tiếp cận cùng với các trường hợp sử dụng tích hợp SQL và Python để tạo quy trình phân tích liền mạch

Bộ dữ liệu phân tích — Dữ liệu bán lẻ trực tuyến

Có hai cách để kết nối Python với cơ sở dữ liệu quan hệ. [1] sử dụng làm công cụ kết nối để truy cập cơ sở dữ liệu được lưu trữ trong máy chủ SQL từ xa;

Đối với bài tập này, chúng tôi sẽ triển khai phương pháp ORM trong máy chủ MS SQL. Tập dữ liệu chúng tôi đang làm việc là dữ liệu Bán lẻ trực tuyến;

Như chúng ta có thể thấy, mỗi bản ghi bao gồm sản phẩm, số lượng, giá/đơn vị và thông tin về khách hàng, quận

Điều kiện tiên quyết — Kết nối Python với máy chủ SQL

Python {urllib} + {SQLAlchemy}

Mặc dù {SQLAlchemy} rất phổ biến đối với các nhà khoa học dữ liệu và lập trình viên, nhưng có thể khó để có được chuỗi kết nối ở dạng mong muốn. Để kết nối SQL với Python, chúng ta cần tên trình điều khiển, tên máy chủ và tên cơ sở dữ liệu. Ở đây trình bày cách các tham số này được chỉ định cho máy chủ cục bộ của tôi localhost\SQLEXPRESS và cơ sở dữ liệu có tên master,

Tham gia cộng đồng YouTube của chúng tôi 🎦 “Trò chuyện dữ liệu với Kat” 😄

Trường hợp sử dụng #1. Truy vấn ngắn được viết bằng Python

Với công cụ kết nối SQL của chúng tôi được thiết lập, sau đó chúng tôi có thể viết một truy vấn ngắn để kéo dữ liệu vào Python bằng cách sử dụng {pandas},

Trong ví dụ này, chúng tôi đã trích xuất tất cả các giao dịch từ ngày 12/10/2010 đến ngày 01/01/2011 cho hai sản phẩm — Bình nước nóng sô cô la và Bình nước nóng hình trái tim màu xám, sau đó lấy Tổng doanh thu $ tổng hợp theo Ngày cho từng sản phẩm. Đây là khung dữ liệu được trả về

Bây giờ, như một phần của quy trình phân tích của chúng tôi, hãy tạo một hình ảnh trực quan, e. g. , biểu đồ đường dọc, để trình bày các xu hướng cho các bên liên quan của chúng tôi

Trường hợp người dùng #2. Đọc một bên ngoài. tập tin sql

Những gì chúng tôi vừa trải qua là cách đơn giản nhất để kết hợp SQL vào toàn bộ quy trình phân tích. Tuy nhiên, trong thực tế của chúng tôi, việc viết hoặc sao chép/dán mọi truy vấn đơn lẻ trong Python là không hiệu quả, nếu không muốn nói là không thể. Lý do là gấp đôi

  1. các dự án trong thế giới thực thường yêu cầu các truy vấn dài hàng nghìn dòng bằng cách nối nhiều bảng và dạng xem;
  2. từ quan điểm khả năng sử dụng lại, sẽ rất khó để bảo trì và gỡ lỗi mã nếu chúng tôi liên tục cần cập nhật hoặc sửa đổi các truy vấn này

Giải pháp sau đó là gì? . sql trực tiếp vào Python? . tệp sql OnlineRetailPull.sql

Bây giờ, mẹo là QUÉT tệp truy vấn này như thể nó là một đối tượng chuỗi

Đầu ra OnlineRetailData hoàn toàn giống với kết quả trả về từ trường hợp sử dụng số 1 ở trên

Trường hợp sử dụng #3. Truy vấn động từ ứng dụng của bạn

Bây giờ, hãy quay lại mục tiêu ban đầu của chúng tôi - kết hợp khai thác dữ liệu vào các ứng dụng của chúng tôi tương ứng với đầu vào của người dùng. Chúng ta sẽ tạo một ứng dụng nhỏ bằng Python {streamlit} và khám phá cách chạy các truy vấn SQL một cách linh hoạt

Bước 1. sửa đổi truy vấn của chúng tôi bằng cách thêm trình giữ chỗ. Trong bài tập này, chúng tôi định nghĩa hai biến tương tác {date} và {product},

Bước 2. Thiết lập ứng dụng streamlit của chúng tôi để trực quan hóa xu hướng bán sản phẩm dựa trên lựa chọn của người dùng,

Thủ thuật ở đây là sử dụng các tên đối tượng giống nhau [i. e. , ngày tháng và sản phẩm] cho trình giữ chỗ trong truy vấn của chúng tôi và tùy chọn người dùng trong ứng dụng của chúng tôi. Bằng cách này, chuỗi f có thể tự động nhận bất kỳ giá trị nào mà người dùng chọn

Chạy ứng dụng này mang lại cho chúng tôi…

Từ cuối cùng

Ở đó bạn có nó. Ba trường hợp sử dụng khác nhau để tích hợp SQL với Python một cách linh hoạt. Hy vọng bài viết này cung cấp cho bạn một số nguồn cảm hứng cho các dự án mới, và cảm ơn vì đã đọc

Muốn biết thêm về khoa học dữ liệu và mẹo lập trình?

Chủ Đề