Hướng dẫn sql or python for data analysis reddit - sql hoặc python để phân tích dữ liệu reddit

Không chắc chắn nếu tôi có thể thiếu quan điểm của câu hỏi của bạn, nhưng cả hai là hai điều ồ ạt khác nhau có thể làm một số thứ tương tự.

SQL là cơ sở dữ liệu nơi dữ liệu của bạn sống. Nếu bạn có nhiều hệ thống và trang web và sao cho dữ liệu truy cập, chúng có thể truy cập dữ liệu bằng cơ sở dữ liệu SQL. Tất cả các bản cập nhật, bản sao lưu và sử dụng trực tiếp của bạn thường ở SQL. Nhiều người có thể nhấn vào cơ sở dữ liệu SQL cùng một lúc nhưng tôi không chắc chắn nhiều trường hợp khác nhau của Python có thể sử dụng cùng một khung dữ liệu cùng một lúc. Tôi nhận ra đây không phải là một so sánh 1: 1 nhưng nó đáng để chỉ ra.

Python là một ngôn ngữ lập trình. Nếu bạn có một cơ sở dữ liệu không quá lớn, đôi khi bạn có thể tải toàn bộ bảng vào các khung dữ liệu Pandas [trong Python] để thực hiện giảm số lượng hoặc tương tự. Trên thực tế, bạn có thể có Python đóng vai trò là thứ mà truy vấn và cập nhật cơ sở dữ liệu SQL của bạn. Nhưng nó chỉ là một ngôn ngữ lập trình mà bạn có thể làm. Bạn sẽ không muốn nó xử lý tất cả dữ liệu của bạn.

Bây giờ, sang một bên, khi bạn nhận được dữ liệu lớn và một loạt các bảng, SQL chỉ tốt hơn trong việc xử lý công việc đó. Với một bảng có kích thước terabyte+, gấu trúc sẽ rơi ra khỏi một truy vấn đơn giản và tải vào khung dữ liệu.

Lựa chọn sai. Nó không phải là hoặc/hoặc. Nó cả hai.

Sử dụng SQL nơi SQL có ý nghĩa. Thông thường hiệu suất sẽ nhanh hơn so với thực hiện cùng một công việc trong Python.

Sử dụng Python để tự động hóa và dán tất cả SQL đó lại với nhau và sắp xếp quá trình tổng thể.

Tiêu đề có dự định là BAIT Nhấp chuột giật gân không?

Tương tự như những gì hầu hết những người khác đang nói, việc học cả hai song song sẽ rất tuyệt. Điều đó nói rằng, trừ khi bạn siêu tận tâm và đam mê học tập, đó là một ngọn đồi dốc để leo lên và có khả năng kết thúc trong việc bạn trở nên thất vọng và từ bỏ cả hai.

Như đã nói, tôi nghĩ SQL sẽ là ngôn ngữ thực tế hơn để học trước. Chúng tôi đang ở trong một subreddit SQL mặc dù bạn tự nhiên sẽ nhận được một số câu trả lời thiên vị [tương tự nếu bạn đi đến subreddit R/Python]. Là một nhà phân tích kinh doanh, bạn sẽ được sử dụng truy vấn SQL để trích xuất một số dữ liệu trước đây [nếu có?] Dự kiến ​​sẽ tạo tập lệnh Python để tự động hóa một số rút dữ liệu. Ngay cả khi nó đến với điều đó, tôi cảm thấy rằng bạn sẽ dựa vào các chuyên gia khác để giúp bạn xây dựng nó, vì đó thường là vai trò của các nhà phân tích kinh doanh trong hoàn cảnh thông thường cho một dự án như thế.

Câu hỏi tiếp theo mặc dù. Bạn đã nói "Bosses". Điều đó có nghĩa là bạn báo cáo cho nhiều người? Cuối cùng, nó phải là cấp trên trực tiếp của bạn hướng dẫn bạn và nói với bạn những gì cần phải làm. Vào cuối ngày, có lẽ tốt nhất để đi theo con đường của họ. Nếu bạn báo cáo với nhiều người, thì tôi nghĩ bạn cần gặp họ và đặt một con đường thực tế về phía trước. Nếu những người bảo bạn học X, người khác, thì có khả năng họ không nói chuyện với nhau. Họ cũng nên nhận ra rằng việc học 2 ngôn ngữ lập trình cùng một lúc là một thách thức đối với bất kỳ ai.

Tại sao không kết hợp tốt nhất của cả hai thế giới? Postgres cho phép bạn sử dụng Python để viết các chức năng và kích hoạt SQL của riêng bạn. Nó hỗ trợ nhiều ngôn ngữ thủ tục hơn, bạn có thể tìm thấy nhiều thông tin hơn về nó nếu bạn tìm kiếm PL/Python, nó hỗ trợ PY2 và PY3.

Nếu không, Gandas và Sqlalchemy cũng là một sự kết hợp tốt. Tạo kết nối với cơ sở dữ liệu SQL của bạn với SQLalchemy [Postgres, MySQL, SQLite, ... được hỗ trợ] và tải dữ liệu đã chọn vào DataFrame, thật tốt khi chọn trước và những thứ nặng có thể xảy ra trong DataFrame. Ưu điểm chính là bạn có thể thực hiện mọi thứ theo chương trình hơn, như chỉ chọn các cột kết thúc bằng 'ngày' hoặc khớp với Regex đặc biệt và vì vậy, điều bạn không thể làm với SQL bình thường.

Ví dụ: bạn có một bảng với 100 cột và bạn muốn có một cái nhìn tổng quan về mỗi cột với gấu trúc, bạn có thể làm điều gì đó như thế này:

for column in df.columns:
    print[column]
    print[df[column].max[]]
    print[df[column].min[]]
    print[len[df[column].unique[]]]

Trong SQL, bạn cần chọn mọi cột bằng tay và thực hiện các chức năng trên đó. Giống như ví dụ đồ chơi.

Sự phân chia sạch của lao động phân tích dữ liệu giữa Python và SQL dường như đang mờ dần với các công cụ như DBT, Snowpark và Dask-SQL. Hãy so sánh hai ngôn ngữ về hiệu suất, chức năng và nhà phát triển XP.

[Liên kết đến bài viết đầy đủ bên dưới]

Mã SQL hiệu suất trên các kho dữ liệu thường nhanh hơn Python để truy vấn dữ liệu và thực hiện các tập hợp cơ bản. Điều này là do các truy vấn SQL di chuyển mã sang dữ liệu thay vì dữ liệu sang mã. Điều đó nói rằng, các giải pháp tính toán song song như DASK và các giải pháp khác có quy mô mã Python sang các bộ dữ liệu lớn hơn bộ nhớ có thể thấp hơn đáng kể thời gian xử lý.
Running SQL code on data warehouses is generally faster than Python for querying data and doing basic aggregations. This is because SQL queries move code to data instead of data to code. That said, parallel computing solutions like Dask and others that scale Python code to larger-than-memory datasets can significantly lower processing times.

Chức năng Sức mạnh lớn nhất cũng là điểm yếu của nó: Đơn giản. Ví dụ, viết mã SQL để thực hiện phân tích dữ liệu khám phá lặp, khoa học dữ liệu hoặc các tác vụ học máy có thể nhanh chóng có được thời gian dài và khó đọc. Python cho phép bạn viết mã phân tích dữ liệu thử nghiệm dạng tự do và mã toán học phức tạp và/hoặc ML. Sự vắng mặt của một cộng đồng thư viện bên thứ ba sôi động và đáng tin cậy cho SQL cũng là một vấn đề so với Python.
SQL’s greatest strength is also its weakness: simplicity. For example, writing SQL code to perform iterative exploratory data analysis, data science or machine learning tasks can quickly get lengthy and hard to read. Python lets you write free-form experimental data analysis code and complex mathematical and/or ML code. The absence of a vibrant and reliable third-party library community for SQL is also a problem compared to Python.

Nhà phát triển Xppython làm cho việc gỡ lỗi và kiểm tra đơn vị dễ dàng và đáng tin cậy hơn rất nhiều. Mặc dù DBT đã thêm phiên bản mã bằng cách buộc việc sử dụng GIT, SQL Diffs vẫn khó đọc và thao tác hơn so với các khác nhau trong Python IMO.
Python makes debugging and unit-testing a lot easier and more reliable. While dbt has added code versioning by forcing the use of Git, SQL diffs are still harder to read and manipulate than diffs in Python IMO.

Kết luận Trong khi nó hấp dẫn để đóng khung cuộc tranh luận giữa SQL và Python là một sự cố, hai ngôn ngữ trên thực tế xuất sắc ở các phần khác nhau của đường ống xử lý dữ liệu. Một quy tắc tiềm năng để lấy từ điều này là sử dụng SQL cho các truy vấn đơn giản cần chạy nhanh trên kho dữ liệu, DBT để tổ chức các mô hình SQL phức tạp hơn và Python với các thư viện điện toán phân tán như DASK để phân tích và máy khám phá dạng tự do và máy Mã học và/hoặc mã cần được kiểm tra đơn vị đáng tin cậy. & NBSP;
While it's tempting to frame the debate between SQL and Python as a stand-off, the two languages in fact excel at different parts of the data-processing pipeline. One potential rule of thumb to take from this is to use SQL for simple queries that need to run fast on a data warehouse, dbt for organizing more complex SQL models, and Python with distributed computing libraries like Dask for free-form exploratory analysis and machine learning code and/or code that needs to be reliably unit tested. 

Bài viết đầy đủ: //airbyte.com/blog/sql-vs-python-data-analysis
//airbyte.com/blog/sql-vs-python-data-analysis

SQL có tốt hơn Python để phân tích dữ liệu không?

Nếu ai đó thực sự đang tìm cách bắt đầu sự nghiệp của họ với tư cách là một nhà phát triển, thì họ nên bắt đầu với SQL vì đó là ngôn ngữ tiêu chuẩn và cấu trúc dễ hiểu làm cho quá trình phát triển và mã hóa nhanh hơn. Mặt khác, Python là dành cho các nhà phát triển lành nghề.

Tôi có nên học SQL hoặc nhà phân tích dữ liệu đầu tiên của SQL hoặc Python không?

Một điều cần nhớ là SQL là bước đầu tiên lớn đối với một số ngôn ngữ phức tạp hơn [Python, R, JavaScript, v.v.].Một khi bạn hiểu cách một máy tính nghĩ, thật dễ dàng để học một ngôn ngữ lập trình mới để phân tích dữ liệu của bạn.SQL is a big first step to some more complex languages [Python, R, JavaScript, etc.]. Once you understand how a computer thinks, it is easy to learn a new programming language to analyze your data.

Python có hữu ích hơn SQL không?

SQL không được thiết kế để thao tác và chuyển đổi dữ liệu cấp cao hơn về mặt ứng dụng hiện trường.Ngược lại, Python là một ngôn ngữ cấp cao và được ghi chép lại với thư viện phân tích dữ liệu chuyên dụng có tên là 'Pandas', đó là lý do tại sao việc chọn giữa SQL và Python hơi phức tạp.choosing between SQL and Python is a little complicated.

SQL có đủ cho nhà phân tích dữ liệu không?

SQL vẫn là ngôn ngữ hàng đầu cho dữ liệu hoạt động trong bộ dữ liệu hoàn chỉnh mà Stack Overflow được phát hành ở đây, chúng ta có thể thấy rằng trong số các nhà phát triển làm việc với dữ liệu [bao gồm các nhà khoa học dữ liệu, nhà phân tích dữ liệu, kỹ sư dữ liệu, v.v.], khoảng 70% sử dụng SQL,So với 61,7% sử dụng Python.about 70% use SQL, compared to 61.7% who use Python.

Chủ Đề