Khác với các bài viết về khóa học khoa học dữ liệu và học máy, nơi tôi đưa ra các đề xuất cá nhân, tôi muốn xem liệu có cách nào để tìm các khóa học Python tốt nhất bằng cách sử dụng phân tích dữ liệu một cách đáng tin cậy hay không
Bài viết này nhằm mục đích sử dụng dữ liệu tương tự và số liệu xếp hạng có trong thuật toán tìm kiếm ban đầu của Google
TL;DR
Trong số khoảng 3000 dịch vụ, đây là những khóa học Python tốt nhất theo phân tích này
- Học Python bằng Codecademy
- Giới thiệu về lập trình Python của Udacity
- Lập trình cho mọi người [Bắt đầu với Python] của Coursera
- Giới thiệu về Python cho Khoa học dữ liệu của Datacamp
- Hoàn thành Python Bootcamp từ Zero đến Hero bằng Python của Udemy
- Giới thiệu về Khoa học Máy tính và Lập trình Sử dụng Python của Edx
- Giới thiệu về lập trình tương tác trong Python [Phần 1] của Coursera
- Học máy với Python của Coursera
- Giới thiệu về TensorFlow cho Deep Learning của Udacity
- học lập trình. Nguyên tắc cơ bản của Coursera
Nếu bạn muốn bỏ qua phần phân tích và xem điểm số, phân tích và đánh giá của khóa học,
Cách xếp hạng các khóa học Python
Kiến trúc ban đầu của công cụ tìm kiếm của Google dựa trên ý tưởng đơn giản rằng kết quả tìm kiếm có thể xếp hạng các trang web theo thuật toán PageRank, thuật toán này cho điểm các trang web dựa trên số lượng và chất lượng của các liên kết ngược
Learn Data Science with
1 và2, một thư viện cung cấp các công cụ để làm việc với đường dẫn tệpdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
import pandas as pd from pathlib import Path
Learn Data Science with
Tôi đã đặt tên cho một thư mục là
3 để chứa các tệp CSV cho từng nền tảng khóa học. Thư mục trông giống như thế nàydl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
ahrefs-courses |___coursera.csv |___edx.csv |...
Learn Data Science with
Chúng tôi sẽ sử dụng
1 để đọc và nối tất cả dữ liệu CSV vào một đối tượng DataFramedl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Dưới đây, chúng tôi lấy tất cả các tệp CSV từ thư mục
3, tạo một DataFrame trống vàdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
6 từng tệp vào DataFrame. Vì mỗi CSV có chỉ mục riêng nên chúng tôi cầndl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
7 để loại bỏ từng tệp và tạo chỉ mục mới cho khung dữ liệu kết hợpdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
dl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Ngoài
#Lưu lượng truy cập [desc]Lưu lượng truy cập [Phần trăm %]# từ khóa Tên miền giới thiệuURLTừ khóa hàng đầuKhối lượng của nóVị trí URL bên trongGiá trị lưu lượng018035. 031. 0638196. 0https. //www. khóa học. org/courses?query=pythoncoursera python32001NaN40291
Sử dụng
8, chúng ta có thể thấy hàng đầu tiên của khung dữ liệu mới được kết hợp. Bạn đã có thể nhận thấy một vấn đề. khóa học đầu tiên là kết quả tìm kiếm trên Coursera, không phải khóa học thực tế. Chúng ta sẽ xem trong phần tiếp theo cách lọc thêm các URLdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Lọc URL
Để tiếp tục lọc kết quả vào các trang khóa học thực tế, chúng tôi sẽ cần sử dụng một số bộ lọc cho mỗi nền tảng. Tôi đã dành thời gian xem qua từng nền tảng để hiểu cấu trúc URL nào tương ứng với các trang khóa học và tạo từ điển bộ lọc này để sử dụng
1dl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Mục đích là dùng từ điển này để lọc cột URL trong dataframe. Khóa của từ điển là tên nền tảng, cũng là tên miền của nền tảng và giá trị là một bộ các yêu cầu đối với URL. Tuple chứa hai danh sách. [1] Các tính năng URL cần bao gồm và [2] Các tính năng URL cần loại trừ
Ví dụ: đường dẫn URL chính cho các khóa học Linkedin Learning là Linkedin. com/learning/ mà chúng tôi muốn đưa vào. Nhưng chúng tôi cũng muốn loại trừ các URL như Linkedin. com/learning/topics/. Để lọc các URL này, chúng tôi có thể đảm bảo '/learning/' có trong URL và '/topics/' không có
Learn Data Science with
9 - chức năng được sử dụng trực tiếp với10. Pandas chuyển từng URL từ khung dữ liệu vào hàm này, hàm này sẽ trả về URL nếu đáp ứng tiêu chí hoặc Không có nếu khôngdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
11 - hàmdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
9 tìm các bộ lọc của nền tảng chính xác và chuyển chúng tới hàm này để tạo biểu thức chính quy [regex]. Ví dụ: biểu thức chính quy cho các bộ lọc bao gồm URL của Codecademy sẽ chuyển thành "/learn/. /courses/", là biểu thức chính quy để tìm "/learning/" HOẶC "/courses/" trong URL.dl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
13 đóng vai trò là trình giữ chỗ để bỏ qua khớp nếu một trong các danh sách bộ lọc trốngdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
7dl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
8dl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Ngoài
9dl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Khi URL được lọc ra, nó được đặt thành
14 bởidl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
9, cho phép chúng tôi sử dụngdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
16 trên cột đó để xóadl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Lọc khung dữ liệu của chúng tôi dường như đã giảm khoảng một nửa tổng số URL
Ngoài việc lọc, chúng tôi cũng sẽ lọc toàn bộ các cột vì chúng tôi chỉ cần Lưu lượng truy cập, Miền giới thiệu và URL cho phân tích này
Hợp nhất các khóa học trùng lặp
Chúng tôi cần chuẩn hóa các URL vì cùng một khóa học có thể được trình bày trong nhiều hàng bằng cách có một biến thể URL nhỏ. Chúng tôi sẽ cần hợp nhất những thứ này nếu có thể
Trước tiên, chúng tôi cần chuẩn hóa URL bằng cách loại bỏ các định dạng giao thức ở đầu URL. Điều này là do http. // hoặc https. // và có hoặc không có www. ở đầu URL, đều là các URL hợp lệ cho cùng một khóa học
Thứ hai, một số URL khóa học đại diện cho một chương hoặc bài học trong khóa học. Chúng ta có thể xem một ví dụ về điều này trên DataCamp và Linkedin Learning
Learn Data Science with
3Hàm
17 sẽ xóa giao thức khỏi phía trước URL bằng biểu thức chính quy, phân tách theo dấu gạch chéo về phía trước, sau đó chỉ nối ba đoạn URL đầu tiên lại với nhaudl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Sử dụng
18, thay thế văn bản, sẽ thay thế "https. //www. " với một chuỗi rỗng. Vì URL có thể là "http" hoặc "https" và có thể có hoặc không có www. , thêm dấu chấm hỏi sau chữ "s" và "www. " sẽ phù hợp với tất cả các khả năngdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Chúng tôi sẽ cần áp dụng chức năng này cho cột URL, sau đó URL
19 để hợp nhất các bản saodl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
7import pandas as pd from pathlib import Path
Learn Data Science with
Ngoài
8import pandas as pd from pathlib import Path
Learn Data Science with
Ngoài
URL#Lưu lượng truy cập [desc]Lưu lượng truy cập [Phần trăm %]# từ khóa Tên miền giới thiệu Khối lượng của nóVị tríGiá trị lưu lượng0khuôn viên. trại dữ liệu. com/khóa học/ai-cơ bản13350. 020. 010. 01503601khuôn viên. trại dữ liệu. com/courses/analyzing-iot-data. 10520. 100. 030. 02503102khuôn viên. trại dữ liệu. com/khóa học/phân tích-cảnh sát-a. 15860. 000. 010. 01504203khuôn viên. trại dữ liệu. com/khóa học/phân tích-xã hội-m. 122690. 230. 0260. 044027604trường. trại dữ liệu. com/courses/analyzing-us-census. 113260. 040. 081. 06402600
Sử dụng
70 trên nhóm, việc hợp nhất URL đã tổng hợp các cột Lưu lượng truy cập và Tên miền giới thiệu thành một hàng. Chúng tôi đã giảm gần một nửa số lượng các khóa học một lần nữa, nhưng mỗi hàng bây giờ sẽ đại diện cho một khóa học duy nhấtdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Trực quan hóa dữ liệu khóa học Python
Trích xuất tên nền tảng
Điều đầu tiên chúng tôi có thể muốn biết là số lượng khóa học trên mỗi nền tảng, vì vậy trước tiên chúng tôi sẽ trích xuất tên của nền tảng từ URL và đặt nó vào một cột mới. Nếu chúng tôi chia URL theo các khoảng thời gian [. ], chúng ta sẽ nhận được một danh sách như
71, trong đó tên nền tảng nằm ở chỉ mục 0dl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Một số URL cũng có tên miền phụ bổ sung, chẳng hạn như mã ngôn ngữ. Ví dụ: https. //ru. khóa học. org là một tên miền phụ tiếng Nga trên Coursera. Chúng tôi sẽ cần tính đến điều này khi lấy tên nền tảng bằng cách xem liệu việc phân chia theo thời gian [đã đề cập ở trên] có dẫn đến một danh sách dài hơn hai
Chúng tôi sẽ áp dụng hàm sau cho cột URL và gán kết quả cho một cột mới có tên là Nền tảng
0ahrefs-courses |___coursera.csv |___edx.csv |...
Learn Data Science with
Ngoài
URL#Lưu lượng truy cập [desc]Lưu lượng truy cập [Phần trăm %] # từ khóa Tên miền giới thiệu Khối lượng của nóVị trí Giá trị lưu lượngPlatform0campus. trại dữ liệu. com/khóa học/ai-cơ bản13350. 020. 010. 0150360datacamp
Vì bây giờ chúng ta có tên nền tảng, hãy xem chúng ta có bao nhiêu khóa học Python cho mỗi nền tảng
Dưới đây là mã cần thiết để tạo biểu đồ thanh được nhóm, trong đó trục bên trái là số lượng khóa học Python trên mỗi nền tảng và trục bên phải là lượng lưu lượng truy cập mà các khóa học đó tạo ra. Trước tiên, chúng tôi cần tạo một khung dữ liệu mới [
72] được nhóm theo Nền tảng. Sau khi được nhóm lại, chúng tôi cần tổng hợp [______173] dữ liệu mà chúng tôi muốn sử dụng. Sử dụng 'số lượng' trên cột Nền tảng sẽ cho chúng tôi số lượng khóa học trên mỗi nền tảng và sử dụng 'tổng' trên cột Lưu lượng truy cập sẽ tổng hợp tất cả lưu lượng truy cập cho từng Nền tảngdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
1ahrefs-courses |___coursera.csv |___edx.csv |...
Learn Data Science with
KẾT QUẢ
Learn Data Science with
2Ngoài
Tên miền giới thiệuURL2938054. 0khóa học. org/học/học máy3101949. 0khóa học. org/học/python11491786. 0udacity. com/course/introduction-to-python--ud11102611495. 0khóa học. org/tìm hiểu/tiền điện tử2841429. 0khóa học. org/learning/interactive-python-111471390. 0udacity. com/course/intro-to-tensorflow-for-deep-learning--ud1879971324. đa giác. com/courses/code-school-rails-for-zombies7691322. 0edx. org/khóa học/giới thiệu về khoa học máy tính và lập trình-72021280. 0codecademy. com/hoc/hoc-python3471174. 0khóa học. org/learning/r-lập trình
Vì việc xem các biểu đồ dễ dàng hơn, chúng ta hãy tạo một hàm biểu đồ kết quả trong một biểu đồ thanh ngang để chúng ta có thể sử dụng lại logic cho phần còn lại của bài viết
Để đảm bảo màu thanh giống nhau trên các ô cho từng Nền tảng duy nhất, trước tiên, chúng tôi sẽ chỉ định màu riêng cho từng Nền tảng
3ahrefs-courses |___coursera.csv |___edx.csv |...
Learn Data Science with
Ngoài
4ahrefs-courses |___coursera.csv |___edx.csv |...
Learn Data Science with
Bây giờ, chúng ta sẽ tạo chức năng biểu đồ thanh ngang
5ahrefs-courses |___coursera.csv |___edx.csv |...
Learn Data Science with
KẾT QUẢ
Learn Data Science with
6KẾT QUẢ
Learn Data Science with
7Ngoài
Tên miền giới thiệuURLLưu lượng truy cập [desc]01949. 0khóa học. org/học/python780. 5711786. 0udacity. com/course/introduction-to-python--ud11101739. 0021322. 0edx. org/khóa học/giới thiệu về khoa học máy tính và lập trình-7689. 0031280. 0codecademy. com/học/học-python20937. 504748. 0datacamp. com/courses/intro-to-python-for-data-science2919. 005700. 0udemy. com/course/complete-python-bootcamp2205. 00
Kết quả này cho chúng tôi thấy rằng chỉ có một vài bản ghi hiển thị trong các miền giới thiệu và lưu lượng truy cập hàng đầu, tất cả đều là các khóa học Python
Giả sử chúng tôi sử dụng một số kỹ thuật tính năng đơn giản để tạo thuật ngữ tương tác giữa tên miền giới thiệu và lưu lượng truy cập. Trong trường hợp đó, nó sẽ cho phép chúng tôi xếp hạng các khóa học theo một số duy nhất xem xét cả hai tính năng
Để tạo thuật ngữ tương tác, chúng tôi sẽ tính điểm số z của
74 vàdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
75, sau đó tạo một cột mới là trung bình cộng của hai điểm số zdl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Ghi chú
Điểm Z ngăn chặn sự khác biệt về cường độ/phương sai, mang lại nhiều trọng số hơn cho một biến so với biến khác. Điểm Z được định nghĩa là. $$\text{z-score} = \frac{X - \mu}{\sigma}$$ Trong đó $X$ là mỗi giá trị, $\mu$ là giá trị trung bình của dữ liệu và $\sigma$ là tiêu chuẩn
May mắn thay,
76 có chức năng điểm z cho chúng tôi. Trước tiên, hãy tạo cột z-score cho lưu lượng truy cập và miền giới thiệu, sau đó tạo một cột khác cho thuật ngữ tương tác giữa hai miềndl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
Đầu tiên, để điểm z xuất ra giá trị thực, chúng ta cần loại bỏ bất kỳ giá trị trống nào trong hai cột
8ahrefs-courses |___coursera.csv |___edx.csv |...
Learn Data Science with
Bây giờ, chúng ta có thể áp dụng hàm z-score cho hai cột và tạo một thuật ngữ tương tác
9ahrefs-courses |___coursera.csv |___edx.csv |...
Learn Data Science with
Bây giờ chúng ta có thể xem khóa học Python nào xếp hạng cao nhất theo thuật ngữ tương tác điểm z này
Chúng tôi sẽ sử dụng chức năng biểu đồ thanh ngang giống như trước đây để trực quan hóa sự khác biệt về độ lớn. Ngoài ra, chúng tôi sẽ vẽ 20 kết quả vì một số khóa học xếp hạng cao có thể không phải về Python. Chúng tôi sẽ cần tạo bộ lọc thủ công để có kết quả cuối cùng
0dl_dir = Path['C:/users/brendan/downloads/ahrefs-courses'] # Getting all file paths in download directory files = [f for f in dl_dir.iterdir[]] df = pd.DataFrame[] # Iterating over file paths and concatenating them to the dataframe for file in files: temp_df = pd.read_csv[file, encoding='utf8', thousands=','] df = pd.concat[[df, temp_df]] df.reset_index[drop=True, inplace=True] df.head[1]
Learn Data Science with
KẾT QUẢ
Có vẻ như khóa học Learn Python của Codecademy đã đánh bại mọi khóa học khác, nhưng khóa học Machine Learning của Coursera cũng vượt xa các khóa học khác. Thật không may, vì khóa học của Coursera sử dụng Octave thay vì Python nên nó không thể được đưa vào kết quả hàng đầu cuối cùng
Từ việc theo dõi các khóa học hàng đầu kể từ năm 2015 cho các trang khóa học về khoa học dữ liệu và học máy, các khóa học Python được hiển thị ở trên rất phù hợp với những gì tôi đã đề xuất
Chúng tôi sẽ cần lọc những kết quả này thành các khóa học Python dành riêng. Nhiều người trong top 20 sử dụng ngôn ngữ lập trình khác hoặc không sử dụng ngôn ngữ nào, chẳng hạn như trong khóa học về tiền điện tử
Sau khi lọc thủ công, dưới đây là danh sách cuối cùng của các khóa học Python hàng đầu theo thuật ngữ tương tác của chúng tôi. Ngoài ra, tôi đã tham gia mỗi khóa học để cung cấp ấn tượng tổng thể của mình về nền tảng và nội dung để hiểu lý do tại sao nó có thể được xếp hạng cao như vậy
Phân tích khóa học
Bảng tóm tắt
Khóa học Nền tảng Điểm số Cấp độ Thời gian hoàn thành Chứng chỉ Video Câu đố Dự án Tương tác Tùy chọn miễn phí Giá0Học Pythoncodecademy35. 733907Người mới bắt đầu30+ giờ ✔ ✔ ✔ ✔ ✔$19. 991Giới thiệu về lập trình Pythonudacity8. 717634Người mới bắt đầu4 tuần trở lên ✔✔✔Khóa học lập trình miễn phí cho mọi người [Bắt đầu với Python]Khóa học 7. 592760Người mới bắt đầu19+ giờ ✔✔✔✔$493Giới thiệu về Python cho Khoa học dữ liệudatacamp7. 180293Người mới bắt đầu4 giờ trở lên ✔✔✔✔$254Hoàn thành chương trình đào tạo Python từ con số 0 đến người hùng trong Pythonudemy5. 850593Người mới bắt đầu22 giờ trở lên ✔ ✔ ✔ ✔$139. 995Giới thiệu về Khoa học Máy tính và Lập trình Sử dụng Pythonedx5. 447137Người mới bắt đầu9 tuần trở lên ✔✔✔✔$796Giới thiệu về lập trình tương tác trong Python [Phần 1]coursera5. 066178Người mới bắt đầu19 giờ✔✔✔✔✔✔$497Học máy với Pythoncoursera4. 828566Trung cấp21 giờ✔✔✔✔✔✔$498Giới thiệu về TensorFlow cho Deep Learningudacity4. 546392Trung cấp8+ tuần ✔✔✔Miễn phí9Học lập trình. Khóa học cơ bản2. 801397Người mới bắt đầu25+ giờ ✔ ✔ ✔ ✔$49
1. Học Python bằng Codecademy
Thật thú vị, URL gốc được xếp hạng đầu trong phân tích này là khóa học của Codecademy dành cho Python 2, khóa học mà bạn không nên bắt đầu vì Python 3 thay thế Python 2. May mắn thay, Codecademy có phiên bản cập nhật cho Python 3, tôi sẽ sử dụng phiên bản này thay thế cho phần tổng quan sau
Điểm. 35. 73Cấp độ. Mới bắt đầuThời gian hoàn thành. Hơn 30 giờ Chứng chỉ. ✔Video. câu đố. ✔Dự án. ✔tương tác. ✔Chi phí. Miễn phí, \$19. 99/tháng cho các tính năng Pro Trang chủ khóa họcẤn tượng chung.
Chương trình giảng dạy, bài học, câu đố, dự án và nền tảng tương tác cho thấy rõ ràng lý do tại sao khóa học của Codecademy rõ ràng là người chiến thắng về lưu lượng truy cập và tên miền giới thiệu
Giáo trình cung cấp nền tảng vững chắc để giải các bài toán với Python. Nhiều chủ đề cơ bản được đề cập là then chốt để viết các chương trình Python cơ bản nhưng thường bị các khóa học khác bỏ qua hoàn toàn
Một nhược điểm của khóa học này đối với nhiều người là nó dựa trên văn bản, có nghĩa là bạn sẽ học Python thông qua một trình soạn thảo tương tác trong trình duyệt với một bài học bằng văn bản ở bên cạnh. Nếu bạn học tốt hơn qua video, bạn có thể xem xét khóa học Python tiếp theo trong danh sách
2. Giới thiệu về lập trình Python của Udacity
Sau khi bỏ qua khóa học Máy học của Coursera mà bạn có thể thấy được xếp hạng trong trang khóa học máy học của chúng tôi, khóa học Giới thiệu về Lập trình Python của Udacity đứng ở thứ hạng cao nhất tiếp theo. Mặc dù đây là khóa học Python có thứ hạng cao thứ hai, nhưng nó lại có điểm thấp hơn gấp 4 lần so với của Codecademy
Điểm. 8. 72Cấp độ. Mới bắt đầuThời gian hoàn thành. hơn 4 tuầnChứng chỉ. Băng hình. ✔Câu đố. ✔Dự án. tương tác. Trị giá. Trang chủ Khóa học miễn phíẤn tượng tổng thể.
Mặc dù thứ hạng của khóa học này thấp hơn gấp 4 lần nhưng nó vẫn có rất nhiều giá trị. Thứ nhất, nếu bạn học tốt hơn qua video, thì khóa học này là lựa chọn tốt hơn vì mỗi bài học đều có bài giảng được ghi âm
Tôi muốn nói rằng, về tổng thể, khóa học của Codecademy tốt hơn nhiều. Người ta chú ý nhiều hơn đến việc dạy bạn cách viết các chương trình thực tế
3. Lập trình cho mọi người [Bắt đầu với Python] của Coursera
Khóa học này là phần đầu tiên của chuyên môn Python cho mọi người trên Coursera, bao gồm năm khóa học khác nhau mang đến cho bạn kiến thức trình độ trung cấp về Python. Tham gia khóa học này sẽ là một điểm khởi đầu tốt nếu bạn muốn chuyển đổi liền mạch sang các chủ đề nâng cao hơn, chẳng hạn như làm việc với dữ liệu và cơ sở dữ liệu
Điểm. 7. 59Cấp độ. Mới bắt đầuThời gian hoàn thành. Hơn 19 giờ Chứng chỉ. ✔Video. ✔Câu đố. ✔Dự án. tương tác. Trị giá. Miễn phí, \$49/tháng cho trang chủ CertificateCourseẤn tượng chung.
Tôi thấy các video của khóa học này có tổ chức và thú vị hơn nhiều so với các video khác trong danh sách này. Tốc độ và mức độ khó có vẻ hơi thấp, điều mà một số đánh giá lặp lại
Nhóm đằng sau khóa học này đã làm rất tốt trong việc tạo ra một môi trường học tập Python. Các tính năng độc đáo, chẳng hạn như các cuộc phỏng vấn với các lập trình viên Python có ảnh hưởng, tài liệu và sách đọc chuyên sâu, giờ hành chính và diễn đàn thảo luận, giúp tăng thêm trải nghiệm
4. Giới thiệu về Python cho Khoa học dữ liệu của Datacamp
DataCamp là một nền tảng tương tác, tương tự như Codecademy, nhưng với các video được tích hợp vào tài liệu khóa học. Vì tài liệu của DataCamp tập trung vào khoa học dữ liệu nên khóa học Python này có hương vị khoa học dữ liệu
Điểm. 7. 18Cấp độ. Mới bắt đầuThời gian hoàn thành. Chứng chỉ hơn 4 giờ. Băng hình. ✔Câu đố. ✔Dự án. tương tác. ✔Chi phí. Miễn phí cho thông tin cơ bản, \$25/tháng Trang chủ khóa họcẤn tượng chung.
Nội dung miễn phí bạn nhận được với khóa học này không nhiều; . Có các tùy chọn khác trong danh sách này có nhiều nội dung miễn phí hơn
Như đã nói, nếu bạn đang tìm hiểu về Python đặc biệt cho khoa học dữ liệu và học máy, đăng ký DataCamp và tham gia khóa học này là một khởi đầu tốt. Nếu cách học của bạn phù hợp hơn với các bài học dựa trên văn bản của Codecademy, thì hãy cân nhắc xem Dataquest để thay thế
5. Hoàn thành Python Bootcamp từ Zero đến Hero bằng Python của Udemy
Được phát triển bởi Jose Portilla, đây có lẽ là khóa học Python tốt nhất trên Udemy. Người hướng dẫn là một nhà khoa học dữ liệu, người đã tạo ra nhiều khóa học khác liên quan đến khoa học dữ liệu, chẳng hạn như The Python for Data Science and Machine Learning Bootcamp, The Complete SQL Bootcamp 2021. Đi từ Zero đến Hero, Spark và Python cho Dữ liệu lớn với PySpark
Điểm. 5. 85Cấp độ. Mới bắt đầuThời gian hoàn thành. Hơn 22 giờ Chứng chỉ. ✔Video. ✔Câu đố. ✔Dự án. ✔tương tác. Trị giá. \$139. 99, nhưng thường được bán với giá dưới \$30Trang chủ khóa họcẤn tượng chung.
Tôi thích định dạng video trong khóa học này và nó tương tự như những gì tôi sẽ làm nếu tôi tạo một khóa học Python hoàn toàn dựa trên video. Người hướng dẫn bắt đầu bài học với các trang trình bày chi tiết các phần thiết yếu của tính năng Python, sau đó chuyển sang sổ ghi chép Jupyter tương tác để minh họa một số ví dụ khác nhau về cách sử dụng tính năng mới. Học bằng cách tiếp xúc với nhiều ví dụ là cách tôi học các môn học mới, vì vậy phong cách khóa học này hoạt động tốt
Một nhược điểm là khóa học không giúp bạn viết mã Python trong một dự án thực tế, điều mà Udacity thể hiện trong các mô-đun của họ. Bạn có thể thực hiện nhiều công việc khoa học dữ liệu trong sổ ghi chép Jupyter. Tuy nhiên, tại một số điểm, bạn cần tạo một dự án, sắp xếp một số tập lệnh Python trong các thư mục khác nhau và chạy giải pháp của bạn từ dòng lệnh hoặc giao diện web. Phát triển dự án là kỹ năng cơ bản để trở thành kỹ sư Python
6. Giới thiệu về Khoa học Máy tính và Lập trình Sử dụng Python của Edx
Được giảng dạy bởi MIT, khóa học này thiên về cách tiếp cận học thuật, khoa học máy tính để giới thiệu Python
Không giống như các khóa học trước, bạn không chỉ học cú pháp Python;
Điểm. 5. 45Cấp độ. Mới bắt đầuThời gian hoàn thành. Chứng chỉ 9 tuần trở lên. ✔Video. ✔Câu đố. ✔Dự án. tương tác. Trị giá. Miễn phí, \$79 cho trang chủ TrackCourse đã được xác minhẤn tượng tổng thể.
Khóa học chủ yếu bao gồm các bài giảng video theo phong cách học thuật, trong đó giáo sư chú thích các slide cho từng khái niệm Python. Thỉnh thoảng, giảng viên nhảy vào một môi trường tương tác để chứng minh một khái niệm, giải thích những cạm bẫy và cung cấp thêm ví dụ về cách sử dụng
Mặc dù các bài giảng hơi buồn tẻ, nhưng giảng viên đã cung cấp cái nhìn sâu sắc đặc biệt về lập trình Python và các chủ đề CS. Khóa học này sẽ là điểm khởi đầu tốt cho những người quan tâm đến việc có được nền tảng khoa học máy tính vững chắc hơn và học Python. Ngoài ra, việc thiếu tính tương tác có nghĩa là bạn sẽ cần cảnh giác với việc chỉ xem video mà không tìm hiểu từng khái niệm
7. Giới thiệu về lập trình tương tác trong Python [Phần 1] của Coursera
Khóa học một trong 7 phần Nguyên tắc cơ bản của chuyên ngành Điện toán trên Coursera. Khóa học này cung cấp một cách khác, cụ thể hơn để học Python. tạo Giao diện người dùng đồ họa [GUIs] và trò chơi
Điểm. 5. 07Cấp độ. Mới bắt đầuThời gian hoàn thành. 19 giờ Chứng chỉ. ✔Video. ✔Câu đố. ✔Dự án. ✔tương tác. ✔Chi phí. Miễn phí, \$49/tháng cho trang chủ CertificateCourseẤn tượng chung.
Vì khóa học này sử dụng Python 2 thay vì Python 3, tôi khuyên bạn không nên đăng ký trừ khi bạn quan tâm đến việc làm việc trên GUI bằng Python. Việc chuyển từ Python 2 lên Python 3 không phải là một bước nhảy vọt, nhưng nếu bạn là người mới và có các tùy chọn khóa học khác, tốt hơn hết là nên chuyển thẳng sang Python 3
8. Học máy với Python của Coursera
Hai Ph. D. các nhà khoa học dữ liệu tại IBM đã tạo khóa học này, đây là một phần của hai chương trình khác nhau trên Coursera. [1] Chứng chỉ Chuyên gia Khoa học Dữ liệu và [2] Chứng chỉ Chuyên gia Kỹ thuật AI
Khóa học này giả định rằng bạn đã có một số kinh nghiệm về Python và hoàn toàn hướng đến các khái niệm máy học
Điểm. 4. 83Cấp độ. Trung gian Thời gian hoàn thành. Chứng chỉ 21 giờ. ✔Video. ✔Câu đố. ✔Dự án. ✔tương tác. ✔Chi phí. Miễn phí, \$49/tháng cho trang chủ CertificateCourseẤn tượng chung.
Chương trình giảng dạy tập trung vào bốn thuật toán học máy cốt lõi nhưng không giới thiệu Python theo cách thân thiện với người mới bắt đầu. Trước tiên, bạn sẽ phải tìm đến một khóa học khác trong danh sách này để học Python. Mặt khác, khóa học này là phần giới thiệu thực tế về học máy với Python. Tuy nhiên, nó không lọt vào trang khóa học máy học tốt nhất của tôi vì khóa học không trình bày toán học đằng sau các thuật toán. Tuy nhiên, nó bao gồm sổ ghi chép Jupyter tương tác được lên kế hoạch tốt mà bạn có thể làm việc để hiểu hoàn toàn từng khái niệm
9. Giới thiệu về TensorFlow cho Deep Learning của Udacity
Khóa học này giúp các nhà phát triển phần mềm đạt được các kỹ năng cần thiết để áp dụng các mô hình học sâu, chẳng hạn như Mạng thần kinh chuyển đổi [CNN]. Khóa học này không phải là khóa học để học Python mà là khóa học để học cách sử dụng thư viện Tensorflow Python cho các tác vụ học máy
Điểm. 4. 55Cấp độ. Trung gian Thời gian hoàn thành. 8+ tuầnChứng chỉ. Băng hình. ✔Câu đố. ✔Dự án. tương tác. Trị giá. Trang chủ Khóa học miễn phíẤn tượng tổng thể.
Các bài học bao gồm các khái niệm học máy khác nhau, như CNN, NLP, dự báo chuỗi thời gian và học chuyển giao. Tôi thấy người hướng dẫn và định dạng video được tổ chức rất tốt và sâu sắc. Ngoài ra, mỗi chủ đề kết thúc bằng một sổ tay Colab bao gồm nhiều chi tiết hơn và cung cấp kiến thức, giúp củng cố các kỹ năng mới
Bạn đã quen thuộc với các khái niệm và cú pháp cơ bản của Python, vì vậy một trong những khóa học dành cho người mới bắt đầu khác trong danh sách này, như Codecademy, là điều kiện tiên quyết
10. học lập trình. Nguyên tắc cơ bản của Coursera
Được giảng dạy bởi hai giáo sư Đại học Toronto, khóa học Python dành cho người mới bắt đầu này dạy các khái niệm và cú pháp cơ bản cần thiết để tạo ra các chương trình hữu ích
Điểm. 2. 80 cấp độ. Mới bắt đầuThời gian hoàn thành. Hơn 25 giờ Chứng chỉ. ✔Video. ✔Câu đố. ✔Dự án. tương tác. Trị giá. Miễn phí, \$49/tháng cho trang chủ CertificateCourseẤn tượng chung.
Mặc dù không có tính tương tác trên trình duyệt, nhưng các giáo sư có nhiều kinh nghiệm giảng dạy, thể hiện qua cách tổ chức và chất lượng bài giảng. Người hướng dẫn trình bày từng khái niệm Python cốt lõi bằng IDLE và xem qua một số ví dụ về cú pháp và các sự cố phổ biến mà bạn có thể gặp phải
Chương trình giảng dạy hơi thiếu so với những gì tôi coi là một khóa học hoàn chỉnh dành cho người mới bắt đầu, nhưng tôi vẫn coi khóa học này là một nơi tuyệt vời để bắt đầu vì các giáo sư cung cấp giải thích rõ ràng về từng chủ đề. Ngoài ra, các câu đố và bài tập lập trình giúp áp dụng từng bài học vào thực tế
Tóm tắt
Sử dụng dữ liệu về lưu lượng truy cập và miền giới thiệu của Ahref, chúng tôi đã tìm thấy mười khóa học hàng đầu từ gần 3000 dịch vụ trên các nền tảng khóa học trực tuyến lớn nhất thế giới. Vì khóa học của Codecademy đạt điểm cao hơn đáng kể so với bất kỳ khóa học nào khác, nên bạn nên bắt đầu hành trình Python của mình tại đó
Cho dù bạn tham gia khóa học nào, hãy đảm bảo giải quyết các dự án thường xuyên nhất có thể. Tìm thứ gì đó mà bạn quan tâm để làm việc và tiếp tục lập trình cho đến khi bạn có thứ gì đó giải quyết được vấn đề. Thể hiện giải pháp của bạn, sử dụng nó để giúp đỡ người khác và thậm chí tạo dựng sự nghiệp từ nó. Sử dụng Python—và lập trình nói chung—để tạo ra giá trị cho chính bạn và những người khác là một vòng phản hồi bổ ích sẽ giúp bạn tiếp tục làm việc, tiến về phía trước và trở nên tốt hơn