Sql có khó học hơn python không?

Ngôn ngữ lập trình R lý tưởng cho việc học toán và phân tích dữ liệu, với các thư viện phi tiêu chuẩn để phân tích và kiểm tra dữ liệu. Python là ngôn ngữ tốt nhất cho các công cụ học tập và các ứng dụng lớn, đặc biệt là để phân tích dữ liệu trong các ứng dụng web

Python có thể thực hiện các chức năng tương tự như R. đối số dữ liệu, kỹ thuật, lựa chọn tính năng, trải nghiệm web, ứng dụng, v.v. Mặt khác, Python dễ dàng và đơn giản hơn nhiều so với R. Trên thực tế, nếu bạn cần sử dụng kết quả tìm kiếm của mình trong một ứng dụng hoặc trang web, Python là lựa chọn tốt nhất

R rất đáng học hỏi vì hiện nay nó đang có nhu cầu cao trên thị trường. R là ngôn ngữ lập trình phổ biến nhất được sử dụng bởi các nhà phân tích dữ liệu và nhà khoa học dữ liệu. Nó là mã nguồn mở và miễn phí, và được sử dụng trong các dự án lớn về phân tích dữ liệu

R có phải là ngôn ngữ khó hơn Python không?

Nhìn chung, giao diện Python dễ đọc giúp việc học tương đối đơn giản. Lúc đầu, R có một đường cong học tập dốc, nhưng khi bạn hiểu cách sử dụng các tính năng của nó, việc phân tích của bạn sẽ dễ dàng hơn rất nhiều. Mẹo. Khi bạn đã học một ngôn ngữ lập trình, việc học ngôn ngữ lập trình khác thường dễ dàng hơn

Mã Python dễ bảo trì hơn và mạnh hơn ngôn ngữ R. Gần đây, Python đã và đang cung cấp các API có giá trị cho máy học hoặc Trí tuệ nhân tạo. Hầu hết các công việc khoa học dữ liệu có thể được thực hiện với năm thư viện Python. Numpy, Pandas, Scipy, Scikit-learning và Seaborn

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

Python, R và SQL là ba ngôn ngữ lập trình cần thiết cho khoa học dữ liệu. Không có kỳ quan thực sự ở đó. Tuy nhiên, khả năng lập trình bằng SQL đang trở nên ít quan trọng hơn. Điều này gợi ý rằng, cuối cùng, bạn nên tập trung vào R hoặc Python hơn là SQL

Một điều cần nhớ là SQL là bước quan trọng đầu tiên đối với một số ngôn ngữ phức tạp hơn (Python, R, JavaScript, v.v. ). Khi bạn hiểu cách máy tính suy nghĩ, bạn sẽ 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 mình

Khi các truy vấn trở nên phức tạp hơn, bạn sẽ nhận thấy rằng liên kết SQL khó đọc hơn so với giao diện Python, liên kết này vẫn không thay đổi

Nếu đường dẫn liên quan đến SQL, tải và chỉnh sửa dữ liệu, nó sẽ nhanh hơn mã ngôn ngữ máy chủ như Python

Viết mã R có khó không?

Lúc đầu, R yêu cầu bạn phải học rất nhiều, nhưng khi bạn hiểu cách sử dụng các tính năng của nó, nó sẽ trở nên dễ sử dụng hơn rất nhiều để lập trình

Nếu bạn có kinh nghiệm về bất kỳ ngôn ngữ lập trình nào, sẽ mất khoảng 7 ngày để học lập trình R nếu bạn dành ít nhất 3 giờ mỗi ngày. Nếu bạn là người mới bắt đầu, bạn sẽ mất 3 tuần để học R

R là một ngôn ngữ tuyệt vời cho những người mới bắt đầu chuẩn bị học lập trình và bạn không cần bất kỳ kinh nghiệm ban đầu nào về mã để bắt đầu sử dụng nó. Ngày nay, R dễ học hơn bao giờ hết nhờ tập hợp gói

R có tiếng là khó học. Một số điều này là do nó khác với các phần mềm phân tích khác

Trong những năm qua, tôi đã sử dụng nhiều ngôn ngữ và công cụ khác nhau để phân tích dữ liệu. Khi nghĩ lại khoảng thời gian sử dụng từng công cụ, tôi nhận ra rằng mỗi công cụ khuyến khích một khuôn khổ tinh thần khác nhau để giải quyết các vấn đề phân tích. Ý thức về các khuôn khổ này—và các hành vi mà chúng thúc đẩy—có thể cũng quan trọng như nắm vững các tính năng kỹ thuật của một ngôn ngữ hoặc công cụ mới

câu chuyện phía sau

Lần đầu tiên tôi được giới thiệu về phân tích dữ liệu khoảng mười năm trước khi còn là sinh viên đại học. Ở trường và sau này là một nhà nghiên cứu kinh tế, tôi hầu như chỉ làm việc với hai công cụ—Excel và R—cả hai công cụ này đều hoạt động tốt với các tệp CSV hoặc Excel được tải xuống từ các cổng dữ liệu của chính phủ hoặc các nguồn học thuật

Nhưng khi tôi bắt đầu một công việc mới tập trung vào phân tích kinh doanh, tôi đã bị cuốn vào một thế giới hoàn toàn mới. Phần lớn dữ liệu tôi cần nằm trong cơ sở dữ liệu. SQL đã trở thành một điểm vào cần thiết

Lúc đầu, việc sử dụng một công cụ mới là một thách thức. Không chỉ có một đường cong học tập để đối mặt, mà SQL còn bị hạn chế. Tôi đã quen với các bài kiểm tra thống kê dễ dàng của R, thư viện đồ thị có thể truy cập và cấu trúc dữ liệu linh hoạt. Trong SQL, việc tạo một thứ gì đó có vẻ đơn giản như biểu đồ hộp yêu cầu toàn bộ bài đăng trên blog để tìm hiểu

Trong một thời gian, tôi đã duy trì tính linh hoạt này bằng cách kết hợp các công cụ lại với nhau, nhập kết quả truy vấn vào RStudio

Chuyển từ máy khách SQL của tôi sang máy khách R khiến việc giữ các phần công việc lại với nhau trở nên khó khăn. Khó khăn khi tải xuống kết quả truy vấn và nhập lại chúng vào R khiến quy trình công việc của tôi trở nên tuyến tính — SQL sang R và không bao giờ quay lại nữa. Nếu tôi muốn thêm vào một phân tích, suy nghĩ đầu tiên của tôi thường là, "Có lẽ tôi có thể tìm ra cách để làm điều đó với dữ liệu tôi đã có. " Biết rằng đây là cảm giác của tôi khi ở trong R, tôi đã đầu tư quá nhiều vào một truy vấn bằng cách thêm nhiều dữ liệu hơn mức tôi cần ban đầu. Tôi chậm tìm ra câu trả lời và thường bỏ ngỏ những dòng câu hỏi thú vị

Theo thời gian, khi tôi giỏi SQL hơn, tôi bắt đầu đánh giá cao những lợi ích của nó. Tính cứng nhắc của nó buộc phải có sự nhất quán có giá trị để chuẩn hóa các chỉ số kinh doanh. Số lượng và tổng hợp đơn giản — mà SQL vượt trội — thường là quá đủ để cung cấp thông tin cho các quyết định kinh doanh. Cuối cùng, tôi thấy mình đã từ bỏ R trong quy trình làm việc của mình. Do quy trình làm việc SQL-to-R bị phân mảnh như thế nào, tính linh hoạt của R không xứng đáng với chi phí chuyển đổi. Và khi tôi thực sự bỏ lỡ điều gì đó trong R, tôi thường có thể tìm thấy một cách giải quyết dài dòng mà hầu như đã hoàn thành công việc

Làm việc với SQL và R trong Chế độ, 10 năm sau

Khi nhóm Chế độ bắt đầu làm việc để tích hợp Sổ tay Python với trình soạn thảo SQL của chúng tôi, tôi đã quay lại sử dụng ngôn ngữ kịch bản để phân tích. Tuy nhiên, lần này, nỗi đau của việc chuyển đổi công cụ đã được giảm bớt——Chế độ chuyển kết quả SQL sang Python mà không cần nhập hoặc xuất. Đột nhiên nó cảm thấy như một thế giới khác mở ra một lần nữa

Nhưng cùng với nó là một cách suy nghĩ khác và một khuôn khổ tinh thần mới để học. Mặc dù lợi ích của quy trình làm việc mới này—phần lớn mang lại lợi ích cho quy trình làm việc từ SQL sang R của tôi mà không phải trả chi phí—rõ ràng là đủ để khiến quá trình chuyển đổi trở nên đáng giá, nhưng sẽ dễ dàng hơn nhiều nếu tôi biết trước một vài điều. Đây là những gì tôi đã học được về cách làm việc với SQL và R trong cùng một công cụ

Không biết tất cả các phần cũng không sao. Điểm mạnh của SQL so với Python

SQL là một ngôn ngữ khá hẹp. Các truy vấn hầu như chỉ sử dụng một số kết hợp của phép nối, hàm tổng hợp, truy vấn con và hàm cửa sổ

Nó giống như xây dựng một cái gì đó với một bộ Lego cơ bản. Tôi có thể tạo ra những thứ tuyệt vời, phức tạp và độc đáo, nhưng tôi hiếm khi khám phá ra những tác phẩm chuyên biệt mà tôi chưa từng biết là mình có

Ngược lại, Python giống như một tập hợp các bộ Lego chuyên dụng. Mỗi thư viện có các phần tùy chỉnh riêng để xây dựng thứ gì đó rất cụ thể. Seaborn cho hình ảnh, pandas cho phân tích, scikit-learning cho máy học, v.v.

Những thư viện này thêm rất nhiều sức mạnh. Những gì đã mất hàng tá dòng SQL (hoặc hoàn toàn không thể thực hiện được) giờ đây chỉ cần một phương thức Python. Nhưng tất cả những mảnh này không còn phù hợp trong đầu của tôi. Với SQL, nếu tôi đi theo một con đường nhất định, tôi có thể khám phá ra một cách tốt hơn để sắp xếp lại những gì tôi đang làm. Trong Python, tôi có khả năng tìm ra một phương pháp mới để giải quyết vấn đề cũng như khám phá ra một cách thông minh hơn để làm lại các phần hiện có

"Cộng đồng Python", nơi sản xuất các sản phẩm chuyên biệt này, là một nhóm lớn và phát triển mạnh. "Cộng đồng SQL" là. Công cụ SEO cho Microsoft và Oracle. Nguyên nhân của vấn đề này là chủ đề tranh luận riêng của nó, nhưng hiệu quả thì rõ ràng—việc tìm các tài nguyên Python hỗ trợ trực tuyến dễ dàng hơn nhiều

Có lẽ quan trọng hơn, cấu trúc của Python giúp tìm ra câu trả lời theo cách mà SQL gặp khó khăn. Vì Python có nhiều phần hơn và nó có xu hướng trừu tượng hơn từ dữ liệu mà nó đang làm việc, nên mọi người có thể dễ dàng chia sẻ các thư viện và đoạn mã. Ai đó chia sẻ ví dụ về cách tạo boxplot có thể cung cấp mã và nói “Tham khảo dữ liệu của bạn tại đây. ” Tôi có thể sử dụng bộ dữ liệu chuyến bay để tìm hiểu cách tạo các ô hình hộp bằng phương pháp .boxplot() gấu trúc, sau đó quay lại và sử dụng .boxplot() trên dữ liệu người dùng ứng dụng

Mặt khác, các truy vấn SQL được gắn chặt với dữ liệu. Tôi phải biết tên bảng và cột để truy vấn có ý nghĩa. Điều này có xu hướng làm cho các ví dụ chia sẻ khó hơn nhiều. Chỉ cho ai đó cách tạo biểu đồ hộp bằng SQL yêu cầu chia sẻ dữ liệu để nó có ý nghĩa, điều này có thể khiến mọi người miễn cưỡng chia sẻ công việc của họ hơn

Nắm bắt hộp đen khi học SQL hoặc Python

Hãy cho tôi đủ thời gian và tôi có thể tìm ra truy vấn SQL đang làm gì. Bởi vì tất cả các phần thường quen thuộc và bởi vì các truy vấn là các thực thể độc lập không thuê ngoài làm việc cho các thư viện bên ngoài, nên cuối cùng tôi có thể ghép lại toàn bộ phạm vi của truy vấn và "lấy" nó

Khi tạo hoặc xem lại sổ ghi chép Python, đôi khi tôi phải chấp nhận rằng tôi sẽ không bao giờ biết đầy đủ điều gì đang xảy ra. Ví dụ, để hiểu một hàm SciPy, tôi phải xem qua hàng đống tài liệu hoặc một vài lớp mã nguồn. Thực tế, điều đó không xảy ra. Thay vào đó, tôi thường tìm các thao tác giống như chúng áp dụng hơn, cắm chúng vào và xem liệu chúng có trả về kết quả vượt qua kiểm tra trực tiếp của tôi không

Đây là nhược điểm của việc có nhiều tài nguyên và thư viện cộng đồng như vậy. Không nhất thiết có gì sai với nó (và thực sự không phải ai cũng hiểu đầy đủ về những gì mà GROUP BY thực sự làm trên trái đất này), nhưng với Python, tôi có xu hướng thấy mình dựa vào kết quả nhiều hơn một chút, đặc biệt là khi tài liệu kỹ thuật không dễ dàng hơn

Tạo web phân tích. Phân tích SQL và Python

Khi làm việc trong SQL, các truy vấn thường phát triển tuyến tính. Tôi chủ yếu sử dụng SQL để tổng hợp và nối dữ liệu từ các tập dữ liệu lớn theo một luồng như thế này

1. Tham gia một loạt các bảng với nhau. 2. Tổng hợp điều này thành một cái gì đó nhỏ hơn nhiều. 3. Tham gia trên nhiều bàn hơn. 4. tổng hợp lại. 5. Và cứ thế, cho đến khi tôi có một truy vấn khổng lồ tạo ra 12 hàng dữ liệu

Mặc dù các truy vấn này có thể dài, nhưng chúng thường không khó để mô hình hóa về mặt tinh thần—dữ liệu di chuyển tuyến tính qua các truy vấn con. Dữ liệu giống như một quả cầu tuyết lăn xuống dốc—nó thu thập và nén nhiều bảng hơn khi nó di chuyển, cho đến khi nó biến thành một quả cầu tuyết hoàn hảo (hoặc tạo ra một trận tuyết lở thảm khốc)

Python tiến triển trôi chảy hơn. Tôi thường lấy một tập dữ liệu ban đầu và chia nó thành nhiều tập dữ liệu nhỏ hơn và mỗi tập trở thành một chuỗi phân tích. Tôi có thể kết hợp các chủ đề này lại với nhau và tách chúng ra theo những cách khác nhau

Điều này đòi hỏi tôi phải mô hình hóa phân tích của mình dưới dạng một trang web, điều này khó thực hiện hơn. Tôi không còn có thể nghĩ, "Bàn ngoài cùng bên trái của tôi là gì? Tôi sẽ tham gia vào cái gì?"

bỏ qua xung quanh. Quy trình làm việc SQL vs Python

Bản chất tuyến tính của SQL có nghĩa là nếu tôi muốn thêm một số quan điểm vào phân tích của mình, cách tốt nhất được giới thiệu ngay từ đầu, thì tôi phải sao lưu các truy vấn của mình, sau đó chuyển kết quả đó xuống toàn bộ. Nó cồng kềnh, ngay cả khi nó đơn giản như thêm một cột qua nhiều lớp truy vấn con

Trong các trường hợp khác, việc theo đuổi các ý tưởng khác nhau trong một lần ngồi yêu cầu tạo ra một số khám phá về một truy vấn cốt lõi. Các truy vấn độc lập này trở nên khó hợp nhất sau này—và làm phức tạp thêm vấn đề với việc thay đổi mọi thứ trước đó trong phân tích của tôi, vì nó yêu cầu tôi thực hiện điều chỉnh đó trong tất cả các khám phá này

Ưu điểm của quy trình làm việc dựa trên web của Python là tôi có thể dễ dàng bỏ qua và lặp lại nhanh hơn nhiều. Mọi thứ có thể được thêm và bớt ở những điểm khác nhau, cho phép tôi theo đuổi các câu hỏi khi chúng xuất hiện và trong cùng một quy trình làm việc. Vì mỗi khám phá phân tích có thể trỏ đến cùng một cốt lõi, nên việc di chuyển giữa các điểm phân tích khác nhau sẽ tự nhiên hơn

Ngoài ra, thông thường, nó chỉ nhanh hơn về mặt tính toán. Không có gì khó chịu hơn việc viết một truy vấn SQL dài chỉ để thấy rằng tôi muốn thêm một cột bổ sung vào truy vấn ngoài cùng. Python cho phép tôi áp dụng trực tiếp thay đổi này cho bước cuối cùng của mình mà không phải chạy lại toàn bộ thao tác mỗi lần thực hiện

Bắt đầu bây giờ

Hãy thử hướng dẫn Python miễn phí của chúng tôi

Chào mừng thay đổi

Cuối cùng, trở ngại lớn nhất mà tôi gặp phải trong quá trình chuyển đổi này là quán tính. SQL là mặc định an toàn của tôi. Ngay cả khi truy vấn SQL dài hơn mười lần so với tập lệnh Python tương đương, tôi vẫn cảm thấy dễ dàng hơn khi thực hiện theo cách tôi đã hiểu. Học khó hơn đánh máy

Nhưng bám vào những gì bạn biết là khôn ngoan và ngu xuẩn. Học một ngôn ngữ mới không chỉ cung cấp các công cụ mới mà còn mở ra những cách mới để suy nghĩ mô hình hóa dữ liệu và phân tích của bạn. Điều này có thể khiến bạn hỏi và trả lời những câu hỏi mà bạn sẽ không bao giờ cân nhắc nếu không

Học SQL hay Python cái nào khó hơn?

Nếu chúng ta xem nó như một ngôn ngữ thì SQL dễ hơn nhiều so với Python vì cú pháp nhỏ hơn và có khá ít khái niệm trong SQL. Mặt khác, nếu bạn xem nó như một công cụ, thì SQL khó viết mã hơn Python .

Học SQL hay Python tốt hơn?

Sử dụng SQL so với Python. nghiên cứu điển hình . Mặt khác, Python dành cho các nhà phát triển lành nghề

Tôi có nên học SQL trước khi học Python không?

Một điều cần nhớ là SQL là bước đầu tiên quan trọng đối với một số ngôn ngữ phức tạp hơn (Python, R, JavaScript, v.v. ). Khi bạn hiểu cách máy tính suy nghĩ, bạn sẽ 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 mình.

Học Python sau SQL có dễ hơn không?

So với Python, SQL có thể dễ học hơn đối với một số người . SQL cũng có thể giúp bạn có được một số kiến ​​thức cơ bản về ngôn ngữ lập trình để giúp bạn học các ngôn ngữ khác như Python dễ dàng hơn.