Hướng dẫn best courses to learn python for data science - các khóa học tốt nhất để học python cho khoa học dữ liệu

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.

Chuyển hướng khỏi khóa học khoa học dữ liệu của tôi và các bài viết về khóa học học máy, nơi tôi đưa ra các khuyến nghị 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.

Bài viết này nhằm mục đích sử dụng dữ liệu tương tự và các số liệu xếp hạng có trong thuật toán tìm kiếm đầu tiên của Google.

Kiến trúc ban đầu dựa trên Google về công cụ tìm kiếm của họ 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, ghi đ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.

Nguồn: Google Pagerank không chết, blog AHREFS

Các trang web với nhiều liên kết ngược PageRank cao nên đáng tin cậy hơn. Thuật toán của Google đã trở nên phức tạp hơn rất nhiều kể từ đó, nhưng tôi nghĩ sẽ rất thú vị khi áp dụng logic này cho các khóa học Python.

Nếu bạn chưa quen với phân tích dữ liệu hoặc Python, mã trong bài viết này có thể là một thách thức để tuân theo. Lấy một trong những khóa học Python giới thiệu ở trên sẽ cho phép bạn hiểu hầu hết những gì được viết dưới đây. Bài viết này sẽ cho bạn một cái nhìn thoáng qua về các vấn đề khác nhau mà Python có thể giải quyết!

Thật không may, tôi không có tài nguyên để quét toàn bộ Internet để liên kết đến các khóa học. Để có được dữ liệu cần thiết, tôi đang sử dụng AHREFS, phần mềm phân tích SEO, thu thập dữ liệu trang web và lưu trữ dữ liệu trang web như Google làm. Để tìm các khóa học Python hàng đầu, tôi đã xuất dữ liệu từ AHREF tương ứng với dữ liệu các trang hàng đầu từ các nền tảng sau:

Tôi đã chọn các nền tảng này vì chúng chứa nhiều khóa học Python, là những nhà cung cấp nổi tiếng và đáng tin cậy, và bị buôn bán rất nhiều. Nếu tôi bỏ lỡ một nền tảng quan trọng, xin vui lòng cho tôi biết trong các bình luận bên dưới để tôi có thể cập nhật phân tích này.

Trong AHREFS, tôi đã sử dụng các bộ lọc để tìm các trang khóa học có liên quan bằng cách tìm kiếm "Python" trong URL hoặc từ khóa hàng đầu cho trang. Thật không may, điều này có thể bao gồm các khóa học không liên quan trong khi cũng thiếu một vài khóa học vì [1] có thể là một khóa học Python không có "Python" trong URL và, [2] một khóa học có thể không xếp hạng trong công cụ tìm kiếm cho các từ khóa chứa "Python."

Ngoài ra, tôi giới hạn các trang chỉ ở những trang hiển thị trong 50 kết quả tìm kiếm hàng đầu trên Google vì tôi chỉ có gói AHREFS cơ bản và không thể thấy dữ liệu hơn thế.

Dưới đây là một clip ngắn cho thấy quá trình tìm kiếm các khóa học bằng AHREFS.

Tôi đã xuất từng nền tảng khóa học thành các CSV riêng biệt, sẽ cần được lọc hơn nữa để loại trừ một số trang không liên quan nhất định. Những bộ lọc đó sẽ được chi tiết và áp dụng sau.

Để cung cấp cho bạn một ý tưởng về những CSV này trông như thế nào, đây là tiêu đề và hàng đầu tiên của Coursera CSV:

Đây là ý nghĩa của mỗi cột:

  • # - Chỉ số hàng từ AHREFS [chúng ta cần bỏ cái này trong bước tiếp theo]. - the row index from Ahrefs [we need to drop this in the next step].
  • Lưu lượng truy cập [DESC], lưu lượng truy cập [phần trăm %] - Đây là lưu lượng truy cập công cụ tìm kiếm đến trang khóa học cụ thể này, theo ước tính của AHREFS. Tỷ lệ phần trăm cho thấy tỷ lệ của tất cả lưu lượng truy cập trang web đi đến trang cụ thể này. - this is the search engine traffic to this particular course page, as estimated by Ahrefs. The percentage indicates the share of all website traffic that goes to this specific page.
  • # của từ khóa - Số lượng từ khóa duy nhất mà trang này xuất hiện trong các công cụ tìm kiếm. - the number of unique keywords for which this page appears in search engines.
  • Các miền giới thiệu - Đây là số liệu chính quan tâm. Cột nêu tổng số trang web duy nhất liên kết đến trang khóa học. - this is the primary metric of interest. The column states the total number of unique websites that link to the course page.
  • URL - URL của trang khóa học - the URL of the course page
  • Từ khóa hàng đầu, âm lượng của nó - từ khóa cung cấp nhiều lưu lượng truy cập nhất và bao nhiêu. - the keyword that gives the most traffic and by how much.
  • Vị trí - Vị trí của trang khóa học này trong kết quả tìm kiếm khi tìm kiếm từ khóa hàng đầu. - the position of this course page in search results when looking up the Top Keyword.
  • URL trang bên trong - Nếu URL được tìm thấy trong một trong các tính năng tìm kiếm của Google, chẳng hạn như trích dẫn, đoạn trích nổi bật, "Mọi người cũng hỏi", v.v. - if the URL was found in one of Google's search features, such as a quote, featured snippet, "People also ask", etc.
  • Giá trị lưu lượng truy cập - Cho biết trang web sẽ phải trả bao nhiêu cho quảng cáo để có cùng lưu lượng truy cập cho [các] từ khóa tương ứng. - indicates how much the website would have to pay for ads to get the same traffic for the corresponding keyword[s].

Trước tiên chúng ta phải kết hợp từng CSV thành một cấu trúc dữ liệu duy nhất để thực hiện phân tích bằng tất cả các nền tảng. Về cơ bản, tất cả các khám phá và thao tác dữ liệu sẽ được thực hiện bằng thư viện Pandas [xem hướng dẫn Python Pandas của chúng tôi cho người mới bắt đầu]. Vì vậy, trước tiên chúng tôi sẽ nhập

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]
1 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]
2, một thư viện cung cấp các công cụ để làm việc với các đường dẫn tệp:

import pandas as pd
from pathlib import Path

Tôi đã đặt tên cho một thư mục

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]
3 để chứa CSVS cho mỗi nền tảng khóa học. Thư mục trông giống như thế này:

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...

Chúng tôi sẽ sử dụng

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]
1 để đọc và nối tất cả dữ liệu CSV vào một đối tượng DataFrame.

Dưới đây, chúng tôi nhận được tất cả các tệp CSV từ thư mục

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]
3, tạo một khung dữ liệu 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]
6 mỗi tệp lên DataFrame. Vì mỗi CSV có chỉ số riêng, chúng tôi cần phải từ bỏ từng chỉ mục và tạo một chỉ mục mới cho DataFrame kết hợp.

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]

Sử dụng

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]
8, chúng ta có thể thấy hàng đầu tiên của DataFrame mới 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 là một khóa học thực tế. Chúng ta sẽ thấy trong phần tiếp theo làm thế nào để lọc thêm các URL.

Để tiếp tục lọc cá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 vài bộ lọc cho mỗi nền tảng. Tôi đã dành một chút 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:

"""
Filters follow format:
    platform_name: [[URL contains], [URL does not contain]]
"""

filters = {
    'coursera': [['/learn/', '/specialization/', '/projects/'], []],
    'edx': [['/course/', '/xseries/', '/micromasters/', '/professional-certificate/'], ['/subject/']],
    'udemy': [['/course/'], []],
    'udacity': [['/course/'], []],
    'pluralsight': [['/courses/', '/paths/'], []],
    'datacamp': [['/courses/', '/tracks/'], []],
    'dataquest': [['/path/', '/course/'], []],
    'treehouse': [['/tracks/', '/techdegree/', '/learn/'], []],
    'futurelearn': [['/courses/', '/experttracks/', '/microcredentials/', '/degrees/'], ['/info/']],
    'linkedin': [['/learning/.+', '/paths/'], ['/topics/', '/browse/']],
    'codecademy': [['/learn/', '/courses/'], []]
}

Mục tiêu là sử dụng từ điển này để lọc cột URL trong khung dữ liệu. 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ộ phận yêu cầu cho URL. Bộ tuple chứa hai danh sách: [1] các tính năng URL để bao gồm và [2] các tính năng URL để loại trừ.URL column in the dataframe. The dictionary's key is the platform name, which is also the platform's domain name, and the value is a tuple of requirements for the URL. The tuple contains two lists: [1] URL features to include, and [2] URL features to exclude.

Ví dụ: đường dẫn URL chính cho các khóa học học LinkedIn là LinkedIn.com/Learning/, mà chúng tôi muốn bao gồm. 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 ta có thể đảm bảo rằng '/learning/' nằm trong URL và '/chủ đề/' thì không.

Để áp dụng các bộ lọc này vào cột URL, tôi đã thực hiện các chức năng sau:

  • 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]
    9 - Hàm được sử dụng trực tiếp với
    """
    Filters follow format:
        platform_name: [[URL contains], [URL does not contain]]
    """
    
    filters = {
        'coursera': [['/learn/', '/specialization/', '/projects/'], []],
        'edx': [['/course/', '/xseries/', '/micromasters/', '/professional-certificate/'], ['/subject/']],
        'udemy': [['/course/'], []],
        'udacity': [['/course/'], []],
        'pluralsight': [['/courses/', '/paths/'], []],
        'datacamp': [['/courses/', '/tracks/'], []],
        'dataquest': [['/path/', '/course/'], []],
        'treehouse': [['/tracks/', '/techdegree/', '/learn/'], []],
        'futurelearn': [['/courses/', '/experttracks/', '/microcredentials/', '/degrees/'], ['/info/']],
        'linkedin': [['/learning/.+', '/paths/'], ['/topics/', '/browse/']],
        'codecademy': [['/learn/', '/courses/'], []]
    }
    0. Pandas chuyển từng URL từ DataFrame vào hàm này, sẽ trả về URL nếu nó đáp ứng các tiêu chí hoặc không có nếu nó không.
  • """
    Filters follow format:
        platform_name: [[URL contains], [URL does not contain]]
    """
    
    filters = {
        'coursera': [['/learn/', '/specialization/', '/projects/'], []],
        'edx': [['/course/', '/xseries/', '/micromasters/', '/professional-certificate/'], ['/subject/']],
        'udemy': [['/course/'], []],
        'udacity': [['/course/'], []],
        'pluralsight': [['/courses/', '/paths/'], []],
        'datacamp': [['/courses/', '/tracks/'], []],
        'dataquest': [['/path/', '/course/'], []],
        'treehouse': [['/tracks/', '/techdegree/', '/learn/'], []],
        'futurelearn': [['/courses/', '/experttracks/', '/microcredentials/', '/degrees/'], ['/info/']],
        'linkedin': [['/learning/.+', '/paths/'], ['/topics/', '/browse/']],
        'codecademy': [['/learn/', '/courses/'], []]
    }
    1 - Hàm
    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]
    9 tìm các bộ lọc của nền tảng chính xác và chuyển chúng đến chức năng này để tạo biểu thức chính quy [regex]. Ví dụ: các bộ lọc bao gồm URL của Regex cho Codecademy sẽ biến thành "/Tìm hiểu/|/khóa học/", đó là regex để tìm "/learn/" hoặc "
    """
    Filters follow format:
        platform_name: [[URL contains], [URL does not contain]]
    """
    
    filters = {
        'coursera': [['/learn/', '/specialization/', '/projects/'], []],
        'edx': [['/course/', '/xseries/', '/micromasters/', '/professional-certificate/'], ['/subject/']],
        'udemy': [['/course/'], []],
        'udacity': [['/course/'], []],
        'pluralsight': [['/courses/', '/paths/'], []],
        'datacamp': [['/courses/', '/tracks/'], []],
        'dataquest': [['/path/', '/course/'], []],
        'treehouse': [['/tracks/', '/techdegree/', '/learn/'], []],
        'futurelearn': [['/courses/', '/experttracks/', '/microcredentials/', '/degrees/'], ['/info/']],
        'linkedin': [['/learning/.+', '/paths/'], ['/topics/', '/browse/']],
        'codecademy': [['/learn/', '/courses/'], []]
    }
    3 đóng vai trò là người giữ chỗ để bỏ qua khớp nếu một trong các danh sách bộ lọc trống.

import re

def make_regex[filters: list]:
    default = '$^'
    if filters:
        default =  re.compile['|'.join[filters]]
    return default

def apply_filters[url: str]:
    for name, filts in filters.items[]:
        if name in url:
            include = make_regex[filts[0]]
            exclude = make_regex[filts[1]]
            if re.search[include, url] and not re.search[exclude, url]:
                return url
    return None

print[f"Original df length: {len[df]}"]

df['URL'] = df['URL'].apply[apply_filters]
df.dropna[subset=['URL'], inplace=True]

print[f"Filtered df length: {len[df]}"]

Out:

Original df length: 8893
Filtered df length: 4413

Khi URL được lọc ra, nó được đặt thành

"""
Filters follow format:
    platform_name: [[URL contains], [URL does not contain]]
"""

filters = {
    'coursera': [['/learn/', '/specialization/', '/projects/'], []],
    'edx': [['/course/', '/xseries/', '/micromasters/', '/professional-certificate/'], ['/subject/']],
    'udemy': [['/course/'], []],
    'udacity': [['/course/'], []],
    'pluralsight': [['/courses/', '/paths/'], []],
    'datacamp': [['/courses/', '/tracks/'], []],
    'dataquest': [['/path/', '/course/'], []],
    'treehouse': [['/tracks/', '/techdegree/', '/learn/'], []],
    'futurelearn': [['/courses/', '/experttracks/', '/microcredentials/', '/degrees/'], ['/info/']],
    'linkedin': [['/learning/.+', '/paths/'], ['/topics/', '/browse/']],
    'codecademy': [['/learn/', '/courses/'], []]
}
4 bởi
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]
9, cho phép chúng tôi sử dụng
"""
Filters follow format:
    platform_name: [[URL contains], [URL does not contain]]
"""

filters = {
    'coursera': [['/learn/', '/specialization/', '/projects/'], []],
    'edx': [['/course/', '/xseries/', '/micromasters/', '/professional-certificate/'], ['/subject/']],
    'udemy': [['/course/'], []],
    'udacity': [['/course/'], []],
    'pluralsight': [['/courses/', '/paths/'], []],
    'datacamp': [['/courses/', '/tracks/'], []],
    'dataquest': [['/path/', '/course/'], []],
    'treehouse': [['/tracks/', '/techdegree/', '/learn/'], []],
    'futurelearn': [['/courses/', '/experttracks/', '/microcredentials/', '/degrees/'], ['/info/']],
    'linkedin': [['/learning/.+', '/paths/'], ['/topics/', '/browse/']],
    'codecademy': [['/learn/', '/courses/'], []]
}
6 trên cột đó để loại bỏ.

Lọc dữ liệu của chúng tôi dường như đã giảm tổng số URL khoảng một nửa.

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, giới thiệu miền và URL cho phân tích này.

Chúng ta cần bình thường hóa các URL vì cùng một khóa học có thể được biểu diễn trong nhiều hàng bằng cách có một biến thể URL nhẹ. Chúng ta sẽ cần phải hợp nhất những điều này có thể.

Đầu tiên, chúng ta cần bình thường hóa các URL bằng cách tước các định dạng giao thức khi bắt đầu URL. Điều này là do // hoặc //, và có hoặc không có www. Khi bắt đầu URL, tất cả 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ể thấy một ví dụ về điều này trên Datacamp và LinkedIn Learning:

Chúng tôi muốn loại bỏ các kết thúc để lấy URL khóa học gốc, sau đó hợp nhất các hàng trùng lặp. Hơn nữa, chúng tôi sẽ loại bỏ bất kỳ đường dẫn nào qua hai dấu gạch chéo về phía trước [/], không bao gồm giao thức, để đến URL khóa học gốc.

Dưới đây là một chức năng chúng ta có thể áp dụng cho cột URL để thực hiện hai trình chuẩn bị sau:

def cut_url[url]:
    u = re.sub['https?://[www\.]?', '', url]
    u_split = u.split['/']
    u_join = '/'.join[u_split[:3]]
    return u_join

Hàm

"""
Filters follow format:
    platform_name: [[URL contains], [URL does not contain]]
"""

filters = {
    'coursera': [['/learn/', '/specialization/', '/projects/'], []],
    'edx': [['/course/', '/xseries/', '/micromasters/', '/professional-certificate/'], ['/subject/']],
    'udemy': [['/course/'], []],
    'udacity': [['/course/'], []],
    'pluralsight': [['/courses/', '/paths/'], []],
    'datacamp': [['/courses/', '/tracks/'], []],
    'dataquest': [['/path/', '/course/'], []],
    'treehouse': [['/tracks/', '/techdegree/', '/learn/'], []],
    'futurelearn': [['/courses/', '/experttracks/', '/microcredentials/', '/degrees/'], ['/info/']],
    'linkedin': [['/learning/.+', '/paths/'], ['/topics/', '/browse/']],
    'codecademy': [['/learn/', '/courses/'], []]
}
7 sẽ loại bỏ giao thức khỏi mặt trước của URL bằng Regex, chia trên các dấu gạch chéo phía trước, sau đó chỉ tham gia ba phần URL đầu tiên trở lại với nhau.

Sử dụng

"""
Filters follow format:
    platform_name: [[URL contains], [URL does not contain]]
"""

filters = {
    'coursera': [['/learn/', '/specialization/', '/projects/'], []],
    'edx': [['/course/', '/xseries/', '/micromasters/', '/professional-certificate/'], ['/subject/']],
    'udemy': [['/course/'], []],
    'udacity': [['/course/'], []],
    'pluralsight': [['/courses/', '/paths/'], []],
    'datacamp': [['/courses/', '/tracks/'], []],
    'dataquest': [['/path/', '/course/'], []],
    'treehouse': [['/tracks/', '/techdegree/', '/learn/'], []],
    'futurelearn': [['/courses/', '/experttracks/', '/microcredentials/', '/degrees/'], ['/info/']],
    'linkedin': [['/learning/.+', '/paths/'], ['/topics/', '/browse/']],
    'codecademy': [['/learn/', '/courses/'], []]
}
8, thay thế văn bản, sẽ thay thế " // www." với một chuỗi trống. Vì URL có thể là "http" hoặc "https" và có thể hoặc không có www., Thêm một dấu hỏi sau "S" và "www." sẽ phù hợp với tất cả các khả năng.substitutes text, will replace "//www." with an empty string. Since the URL could be "http" or "https" and may or may not have www., adding a question mark after the "s" and "www." will match all possibilities.

Chúng ta sẽ cần áp dụng chức năng này cho cột URL, sau đó

"""
Filters follow format:
    platform_name: [[URL contains], [URL does not contain]]
"""

filters = {
    'coursera': [['/learn/', '/specialization/', '/projects/'], []],
    'edx': [['/course/', '/xseries/', '/micromasters/', '/professional-certificate/'], ['/subject/']],
    'udemy': [['/course/'], []],
    'udacity': [['/course/'], []],
    'pluralsight': [['/courses/', '/paths/'], []],
    'datacamp': [['/courses/', '/tracks/'], []],
    'dataquest': [['/path/', '/course/'], []],
    'treehouse': [['/tracks/', '/techdegree/', '/learn/'], []],
    'futurelearn': [['/courses/', '/experttracks/', '/microcredentials/', '/degrees/'], ['/info/']],
    'linkedin': [['/learning/.+', '/paths/'], ['/topics/', '/browse/']],
    'codecademy': [['/learn/', '/courses/'], []]
}
9 URL để hợp nhất các bản sao.

print[f'Length before: {len[df]}']

df['URL'] = df['URL'].apply[cut_url]

df = df.groupby['URL'].agg['sum'].reset_index[]

print[f'Length after: {len[df]}']

df.head[]

Ngoài:

Length before: 4413
Length after: 2854

Sử dụng

import re

def make_regex[filters: list]:
    default = '$^'
    if filters:
        default =  re.compile['|'.join[filters]]
    return default

def apply_filters[url: str]:
    for name, filts in filters.items[]:
        if name in url:
            include = make_regex[filts[0]]
            exclude = make_regex[filts[1]]
            if re.search[include, url] and not re.search[exclude, url]:
                return url
    return None
0 trên Groupby, URL hợp nhất tổng lưu lưu lượng và giới thiệu các cột miền thành một hàng. Chúng tôi đã gần một nửa số lượng khóa học một lần nữa, nhưng mỗi hàng giờ sẽ đại diện cho một khóa học độc đáo.

Đ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 phân chia URL trên các khoảng thời gian [.], Chúng tôi sẽ nhận được một danh sách như

import re

def make_regex[filters: list]:
    default = '$^'
    if filters:
        default =  re.compile['|'.join[filters]]
    return default

def apply_filters[url: str]:
    for name, filts in filters.items[]:
        if name in url:
            include = make_regex[filts[0]]
            exclude = make_regex[filts[1]]
            if re.search[include, url] and not re.search[exclude, url]:
                return url
    return None
1, trong đó tên nền tảng ở Index 0.

Một số URL cũng có thêm tên miền phụ, như mã ngôn ngữ. Ví dụ, //ru.coursera.org là một tên miền phụ tiếng Nga trên Coursera. Chúng ta 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 sự phân chia trên các khoảng thời gian [được đề 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 chức năng 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.

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...
0

Vì chúng tôi có tên nền tảng bây giờ, hãy xem chúng tôi 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 một biểu đồ thanh được nhóm, trong đó trục 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 mà các khóa học mà các khóa học tạo ra. Trước tiên chúng ta cần tạo một DataFrame mới [

import re

def make_regex[filters: list]:
    default = '$^'
    if filters:
        default =  re.compile['|'.join[filters]]
    return default

def apply_filters[url: str]:
    for name, filts in filters.items[]:
        if name in url:
            include = make_regex[filts[0]]
            exclude = make_regex[filts[1]]
            if re.search[include, url] and not re.search[exclude, url]:
                return url
    return None
2] đượ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 [
import re

def make_regex[filters: list]:
    default = '$^'
    if filters:
        default =  re.compile['|'.join[filters]]
    return default

def apply_filters[url: str]:
    for name, filts in filters.items[]:
        if name in url:
            include = make_regex[filts[0]]
            exclude = make_regex[filts[1]]
            if re.search[include, url] and not re.search[exclude, url]:
                return url
    return None
3] dữ liệu mà chúng tôi quan tâm. Sử dụng 'đếm' trên cột nền tảng sẽ cung cấp cho chúng tôi số lượng các khóa học trên mỗi nền tảng và sử dụng 'tổng số' 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 mỗi nền tảng.

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...
1

RESULT:

Udemy có các khóa học liên quan đến Python nhiều hơn đáng kể so với hầu hết các nền tảng khác, nhưng Codecademy có lưu lượng truy cập nhiều hơn so với số lượng dịch vụ nhỏ hơn của nó.

Tôi chủ yếu quan tâm đến sự phổ biến của một trang khóa học, như được chỉ ra bởi số lượng các liên kết duy nhất mà nó nhận được. Theo đó, trước tiên chúng tôi sẽ sắp xếp bằng cách giới thiệu các miền. Thuật toán Pagerank phức tạp hơn so với việc chỉ đếm số lượng liên kết đến một trang, nhưng tôi nghĩ đây sẽ là một điểm khởi đầu thú vị để xếp hạng các khóa học Python.

Hãy xem 20 khóa học hàng đầu theo số lượng các miền giới thiệu duy nhất:

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...
2

Vì dễ dàng hơn để xem các lô, chúng ta hãy tạo ra một chức năng kết quả dẫn đến 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 các màu thanh giống nhau trên các ô cho mỗi nền tảng duy nhất, trước tiên chúng tôi sẽ gán cho mỗi nền tảng của riêng mình:

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...
3

Out:

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...
4

Bây giờ, chúng tôi sẽ tạo chức năng cốt truyện của thanh ngang:

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...
5

RESULT:

Có vẻ như một số khóa học không liên quan đã lọt vào đầu vì các từ khóa thường xuyên với Python. Chúng tôi có thể lọc chúng ra với các bước sắp tới.

Chúng tôi cũng có thể sắp xếp các khóa học bằng giao thông. Ahrefs ước tính lưu lượng truy cập bằng cách xem xét từ khóa, vị trí của Google và lưu lượng truy cập đến từ các liên kết ngược. Hãy nhìn vào điều đó bây giờ.

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...
6

RESULT:

Có vẻ như đã có một sự sắp xếp lại đáng kể khi so sánh với các lĩnh vực giới thiệu, với khóa học Python của Codecademy có một vị trí dẫn đầu rất lớn. Hãy xem các khóa học nào xuất hiện trong các lĩnh vực giới thiệu cao và lưu lượng truy cập cao.

Chúng tôi có thể lọc cả hai kết quả trước đó để hiển thị các khóa học nào hiển thị trong cả hai danh sách hàng đầu. Tôi sẽ mở rộng kết quả tối đa lên 20, vì vậy chúng ta có thể thấy nhiều hơn chỉ là một vài hàng.

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...
7

Kết quả này cho chúng ta thấy rằng chỉ có một vài hồ sơ hiển thị trong các miền 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 một thuật ngữ tương tác giữa các 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 toán điểm Z của

import re

def make_regex[filters: list]:
    default = '$^'
    if filters:
        default =  re.compile['|'.join[filters]]
    return default

def apply_filters[url: str]:
    for name, filts in filters.items[]:
        if name in url:
            include = make_regex[filts[0]]
            exclude = make_regex[filts[1]]
            if re.search[include, url] and not re.search[exclude, url]:
                return url
    return None
4 và
import re

def make_regex[filters: list]:
    default = '$^'
    if filters:
        default =  re.compile['|'.join[filters]]
    return default

def apply_filters[url: str]:
    for name, filts in filters.items[]:
        if name in url:
            include = make_regex[filts[0]]
            exclude = make_regex[filts[1]]
            if re.search[include, url] and not re.search[exclude, url]:
                return url
    return None
5, sau đó tạo một cột mới là trung bình của hai điểm Z.

Ghi chú

Điểm z ngăn chặn sự khác biệt về độ lớn/phương sai, mang lại trọng lượng cao hơn cho một biến so với một biến khác. Các điểm z được định nghĩa là: $$ \ text {z-score} = \ frac {x-\ mu} {\ sigma} $$ trong đó $ x $ mỗi giá trị, $ \ mu $ là giá trị trung bình của dữ liệu và $ \ sigma $ là độ lệch chuẩn của dữ liệu.

May mắn thay,

import re

def make_regex[filters: list]:
    default = '$^'
    if filters:
        default =  re.compile['|'.join[filters]]
    return default

def apply_filters[url: str]:
    for name, filts in filters.items[]:
        if name in url:
            include = make_regex[filts[0]]
            exclude = make_regex[filts[1]]
            if re.search[include, url] and not re.search[exclude, url]:
                return url
    return None
6 có chức năng điểm Z cho chúng tôi. Trước tiên, hãy tạo một cột điểm Z cho lưu lượng truy cập và giới thiệu các miền, sau đó tạo một cột khác cho thuật ngữ tương tác giữa hai.

Đầu tiên, để Zscore xuất ra một giá trị thực, chúng ta cần giảm bất kỳ giá trị trống nào trong hai cột:

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...
8

Bây giờ, chúng ta có thể áp dụng chức năng điểm Z cho hai cột và tạo một thuật ngữ tương tác:

ahrefs-courses
    |___coursera.csv
    |___edx.csv
    |...
9

Bây giờ chúng ta có thể thấy những 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 cùng một hàm âm mưu thanh ngang 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 cấp cao có thể không phải là về Python. Chúng ta sẽ cần tạo một bộ lọc thủ công cho kết quả cuối cùng.

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]
0

RESULT:

Có vẻ như khóa học Python học của Codecademy đã đánh bại mọi khóa học khác, nhưng khóa học học máy của Coursera cũng vượt xa gói. Thật không may, vì khóa học của Coursera sử dụng Octave thay vì Python, 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 khóa học khoa học dữ liệu và các khóa học học máy, các khóa học Python được hiển thị ở trên phù hợp với những gì tôi đã đề xuất.

Chúng ta sẽ cần lọc các kết quả này đến các khóa học Python riêng. Nhiều người trong top 20 sử dụng một ngôn ngữ lập trình khác hoặc không có ngôn ngữ, như trong khóa học tiền điện tử.

Sau khi lọc thủ công, dưới đây là danh sách cuối cùng 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 từng khóa học để cung cấp ấn tượng chung về nền tảng và nội dung để hiểu lý do tại sao nó có thể được xếp hạng rất cao.

1. Tìm hiểu Python của Codecademy

Thật thú vị, URL ban đầu được xếp hạng ở đầu phân tích này là khóa học của Codecademy cho Python 2, mà bạn không nên bắt đầu kể từ Python 3 thay thế Python 2. May mắn thay, Codecademy có phiên bản cập nhật cho Python 3, mà tôi sẽ sử dụng thay thế cho tổng quan sau đây.Python 2, which you shouldn't start with since Python 3 supersedes Python 2. Fortunately, Codecademy has an updated version for Python 3, which I'll use instead for the following overview.

Score: 35.73
Level: Người bắt đầu
Thời gian hoàn thành: Hơn 30 giờ
Certificate:
Video:
Quizzes:
Projects:
Interactive:
Cost: Miễn phí, \ $ 19,99/tháng cho các tính năng chuyên nghiệp
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 là người chiến thắng rõ ràng trong giao thông và các miền giới thiệu.

Chương trình giảng dạy cung cấp một nền tảng vững chắc để giải quyết các vấ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ị bỏ qua hoàn toàn bởi các khóa học khác.

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, điều đó 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 viết ở bên. Nếu bạn học tốt hơn thông qua video, bạn có thể muốn 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 bởi Udacity

Sau khi bỏ qua khóa học học máy của Coursera, mà bạn có thể thấy được xếp hạng trong trang Khóa học học máy của chúng tôi, khóa học lập trình Python của Udacity đến ở cấp bậc cao nhất tiếp theo. Mặc dù nó đến như là khóa học Python cao thứ hai, nhưng nó có lớp thấp hơn 4 lần so với Codecademy.

Score: 8.72
Level: Người bắt đầu
Thời gian hoàn thành: Hơn 4 tuần
Certificate:
Video:
Quizzes:
Projects:
Interactive:
Cost: Tự do
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 là người chiến thắng rõ ràng trong giao thông và các miền giới thiệu.

Chương trình giảng dạy cung cấp một nền tảng vững chắc để giải quyết các vấ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ị bỏ qua hoàn toàn bởi các khóa học khác.much better. There's much more attention paid to teaching you the way to write real programs.

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, điều đó 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 viết ở bên. Nếu bạn học tốt hơn thông qua video, bạn có thể muốn 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 bởi Udacity

Score: 7.59
Level: Người bắt đầu
Thời gian hoàn thành: Hơn 4 tuần
Certificate:
Video:
Quizzes:
Projects:
Interactive:
Cost: Tự do
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 là người chiến thắng rõ ràng trong giao thông và các miền giới thiệu.

Chương trình giảng dạy cung cấp một nền tảng vững chắc để giải quyết các vấ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ị bỏ qua hoàn toàn bởi các khóa học khác.

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, điều đó 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 viết ở bên. Nếu bạn học tốt hơn thông qua video, bạn có thể muốn 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 bởi Udacity

Score: 7.18
Level: Người bắt đầu
Thời gian hoàn thành: Hơn 4 tuần
Certificate:
Video:
Quizzes:
Projects:
Interactive:
Cost: Tự do
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 là người chiến thắng rõ ràng trong giao thông và các miền giới thiệu.

Chương trình giảng dạy cung cấp một nền tảng vững chắc để giải quyết các vấ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ị bỏ qua hoàn toàn bởi các khóa học khác.

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, điều đó 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 viết ở bên. Nếu bạn học tốt hơn thông qua video, bạn có thể muốn 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 bởi Udacity

Score: 5.85
Level: Người bắt đầu
Thời gian hoàn thành: Hơn 4 tuần
Certificate:
Video:
Quizzes:
Projects:
Interactive:
Cost: Tự do
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 là người chiến thắng rõ ràng trong giao thông và các miền giới thiệu.

Một nhược điểm là khóa học không khiến bạn phải mã hóa 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 rất 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, tổ chức 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 các dự án là một kỹ năng cơ bản để trở thành một kỹ sư Python.

6. Giới thiệu về Khoa học máy tính và lập trình bằng cách sử dụng Python của EDX

Được dạy bởi MIT, khóa học này có nhiều cách tiếp cận 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; Bạn cũng đang tìm hiểu về các khái niệm CS CS cùng một lúc.

Score: 5.45
Level: Người bắt đầu
Thời gian hoàn thành: Hơn 9 tuần
Certificate:
Video:
Quizzes:
Projects:
Interactive:
Cost: Miễn phí, \ $ 79 cho bản nhạc đã được xác minh
Trang chủ khóa học

Ấn tượng chung:

Khóa học chủ yếu bao gồm các bài giảng video theo phong cách học tập, nơi giáo sư chú thích các slide cho mỗi 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 các ví dụ về việc sử dụng.

Trong khi các bài giảng hơi buồn tẻ, giảng viên cung cấp cái nhìn sâu sắc đặc biệt về các chủ đề lập trình Python và CS. Khóa học này sẽ là một điểm khởi đầu tốt cho một người quan tâm đến việc có được một nền tảng khoa học máy tính mạnh mẽ 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 các video và không hoạt động thông qua 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 các nguyên tắc cơ bản 7 phần của chuyên môn đ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 để tìm hiểu Python: tạo giao diện người dùng đồ họa [GUI] và trò chơi.

Score: 5.07
Level: Người bắt đầu
Thời gian hoàn thành: Hơn 9 tuần
Certificate:
Video:
Quizzes:
Projects:
Interactive:
Cost: Miễn phí, \ $ 79 cho bản nhạc đã được xác minh
Trang chủ khóa học

Ấn tượng chung:

Khóa học chủ yếu bao gồm các bài giảng video theo phong cách học tập, nơi giáo sư chú thích các slide cho mỗi 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 các ví dụ về việc sử dụng.

Trong khi các bài giảng hơi buồn tẻ, giảng viên cung cấp cái nhìn sâu sắc đặc biệt về các chủ đề lập trình Python và CS. Khóa học này sẽ là một điểm khởi đầu tốt cho một người quan tâm đến việc có được một nền tảng khoa học máy tính mạnh mẽ 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 các video và không hoạt động thông qua 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 các nguyên tắc cơ bản 7 phần của chuyên môn đ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 để tìm hiểu Python: tạo giao diện người dùng đồ họa [GUI] và trò chơi.

Score: 4.83
Level: 19 giờ
Thời gian hoàn thành: Hơn 9 tuần
Certificate:
Video:
Quizzes:
Projects:
Interactive:
Cost: Miễn phí, \ $ 79 cho bản nhạc đã được xác minh
Trang chủ khóa học

Ấn tượng chung:

Khóa học chủ yếu bao gồm các bài giảng video theo phong cách học tập, nơi giáo sư chú thích các slide cho mỗi 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 các ví dụ về việc sử dụng.

Trong khi các bài giảng hơi buồn tẻ, giảng viên cung cấp cái nhìn sâu sắc đặc biệt về các chủ đề lập trình Python và CS. Khóa học này sẽ là một điểm khởi đầu tốt cho một người quan tâm đến việc có được một nền tảng khoa học máy tính mạnh mẽ 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 các video và không hoạt động thông qua 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

Score: 4.55
Level: 19 giờ
Thời gian hoàn thành: Hơn 9 tuần
Certificate:
Video:
Quizzes:
Projects:
Interactive:
Cost: Miễn phí, \ $ 79 cho bản nhạc đã được xác minh
Trang chủ khóa học

Ấn tượng chung:

Khóa học chủ yếu bao gồm các bài giảng video theo phong cách học tập, nơi giáo sư chú thích các slide cho mỗi 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 các ví dụ về việc sử dụng.

Trong khi các bài giảng hơi buồn tẻ, giảng viên cung cấp cái nhìn sâu sắc đặc biệt về các chủ đề lập trình Python và CS. Khóa học này sẽ là một điểm khởi đầu tốt cho một người quan tâm đến việc có được một nền tảng khoa học máy tính mạnh mẽ 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 các video và không hoạt động thông qua 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 các nguyên tắc cơ bản 7 phần của chuyên môn đ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 để tìm hiểu Python: tạo giao diện người dùng đồ họa [GUI] và trò chơi.

Score: 2.80
Level: Người bắt đầu
Thời gian hoàn thành: Hơn 25 giờ
Certificate:
Video:
Quizzes:
Projects:
Interactive:
Cost: Miễn phí, \ $ 49/tháng cho chứng chỉ
Trang chủ khóa học

Ấn tượng chung:

Mặc dù không có tính tương tác trong trình duyệt, các giáo sư có nhiều kinh nghiệm giảng dạy, xuất hiện trong tổ chức và chất lượng bài giảng. Người hướng dẫn chứng minh từng khái niệm Python cốt lõi bằng cách sử dụng một Idle và đi qua một số ví dụ về cú pháp và các vấn đề phổ biến mà bạn có thể gặp phải.

Chương trình giảng dạy giảm một chút so với những gì tôi sẽ coi là một khóa học hoàn chỉnh của 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 kể từ khi các giáo sư đưa ra lời 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 đưa từng bài học vào thực tế.

Sử dụng dữ liệu miền và lưu lượng truy cập 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 đã ghi điểm tốt hơn đáng kể so với bất kỳ đề nghị nào khác, nên việc bắt đầu hành trình Python của bạn ở đó.

Bất kể 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 một cái gì đó bạn quan tâm đến việc làm việc và tiếp tục lập trình cho đến khi bạn có một cái gì đó giải quyết 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 ra một 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 làm việc, tiến về phía trước và trở nên tốt hơn.

Khóa học. Làm sạch dữ liệu với gấu trúc và numpy. ....

Khóa học. Làm sạch dữ liệu với gấu trúc và numpy. .....
Top 5 khóa học khoa học dữ liệu.
Giới thiệu về Khoa học dữ liệu trong Python. ....
Nguyên tắc khoa học dữ liệu cơ bản với Python và SQL. ....
Khoa học dữ liệu với khóa học Python. ....
Phân tích dữ liệu sử dụng Python ..

Tôi có thể học Python cho khoa học dữ liệu ở đâu?

781 Kết quả cho "Khoa học dữ liệu Python"..
Đại học Michigan. Khoa học dữ liệu ứng dụng với Python. ....
Mạng kỹ năng IBM. Python cho khoa học dữ liệu, AI & phát triển. ....
Mạng kỹ năng IBM. Nguyên tắc khoa học dữ liệu cơ bản với Python và SQL. ....
Đại học Michigan. ....
Mạng kỹ năng IBM. ....
Mạng kỹ năng IBM. ....
Đại học Michigan. ....
Google..

Khóa học nào là tốt nhất cho khoa học dữ liệu?

8 Khóa học khoa học dữ liệu tốt nhất và chứng chỉ cho năm 2022:..
Chuyên ngành Khoa học dữ liệu - JHU @ Coursera ..
Giới thiệu về Khoa học dữ liệu - Metis ..
Khoa học dữ liệu ứng dụng với chuyên môn Python - Umich @ Coursera ..
Khoa học dữ liệu Micromasters - UC San Diego @ EDX ..
Dataquest..
Thống kê và Khoa học dữ liệu Micromasters - MIT @ EDX ..

Kỹ năng Python nào là cần thiết cho khoa học dữ liệu?

Khoa học dữ liệu với các kỹ năng cốt lõi Python..
Khóa học.Sử dụng máy tính xách tay Jupyter.....
Khóa học.Khám phá bộ dữ liệu của bạn với gấu trúc.....
Khóa học.Đọc và viết tệp CSV.....
Khóa học.Làm việc với dữ liệu JSON trong Python.....
Khóa học.Pandas DataFrames 101. ....
Khóa học.Python âm mưu với matplotlib.....
Khóa học.Làm sạch dữ liệu với gấu trúc và numpy.....
Course..

Bài Viết Liên Quan

Chủ Đề