Làm thế nào để bạn tìm thấy trung bình của một chương trình trong python?

Chính thức, trung vị là “giá trị phân tách nửa trên với nửa dưới của mẫu dữ liệu” [wiki]

Lưu ý rằng giá trị trung bình khác với giá trị trung bình hoặc giá trị trung bình như có thể thấy trong hình sau

Nếu có một số chẵn phần tử trong danh sách [i. e. , len[list]%2==0], không có phần tử ở giữa. Trong trường hợp này, trung vị có thể là trung bình cộng của hai phần tử ở giữa

Phương pháp 1. số liệu thống kê. Trung bình[]

Cách đơn giản nhất để lấy trung vị của danh sách Python your_list là nhập thư viện statistics và gọi statistics.median[your_list]. Thư viện statistics được bao gồm trong các thư viện tiêu chuẩn của Python, vì vậy không cần phải cài đặt thủ công

Đây là một ví dụ đơn giản

import statistics


def get_median[lst]:
    return statistics.median[lst]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 2.5

Chúng tôi tạo hai danh sách

  • 3 là trung vị của danh sách [3, 2, 4, 7, 1] như có thể thấy trong biểu diễn được sắp xếp [1, 2, 3, 4, 7]
  • 2. 5 là trung vị của danh sách [3, 2, 4, 7, 1, 1] như có thể thấy trong biểu diễn được sắp xếp [1, 1, 2, 3, 4, 7] và [2+3]/2 là . 5

Phương pháp 2. Không có phương pháp tiếp cận thư viện

Để lấy trung vị của danh sách Python mà không cần thư viện hỗ trợ, hãy thực hiện ba bước sau

  • Sắp xếp danh sách
  • Lấy chỉ mục của phần tử giữa bên trái
  • Tính trung bình các phần tử ở giữa bên trái và bên phải

Điều này được thực hiện trong ba dòng Python

  • def get_median[lst]:
        tmp = sorted[lst]
        mid = len[tmp] // 2
        return [tmp[mid] + tmp[-mid-1]] / 2
    
    
    odd = [3, 2, 4, 7, 1]
    print[get_median[odd]]
    # 3
    
    
    even = [3, 2, 4, 7, 1, 1]
    print[get_median[even]]
    # 2.5
    
    1
  • def get_median[lst]:
        tmp = sorted[lst]
        mid = len[tmp] // 2
        return [tmp[mid] + tmp[-mid-1]] / 2
    
    
    odd = [3, 2, 4, 7, 1]
    print[get_median[odd]]
    # 3
    
    
    even = [3, 2, 4, 7, 1, 1]
    print[get_median[even]]
    # 2.5
    
    2
  • def get_median[lst]:
        tmp = sorted[lst]
        mid = len[tmp] // 2
        return [tmp[mid] + tmp[-mid-1]] / 2
    
    
    odd = [3, 2, 4, 7, 1]
    print[get_median[odd]]
    # 3
    
    
    even = [3, 2, 4, 7, 1, 1]
    print[get_median[even]]
    # 2.5
    
    3

Dòng thứ ba chứa trung vị của danh sách Python. Điều này hoạt động cho cả danh sách có số phần tử chẵn và lẻ

Chúng tôi sử dụng lập chỉ mục danh sách phủ định để truy cập phần tử ở giữa bên phải. Nếu danh sách có số lượng phần tử lẻ, chỉ số giữa bên trái và bên phải thực sự giống nhau, trong trường hợp đó, giá trị của phần tử giữa đơn được trả về

Đây là một ví dụ

def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return [tmp[mid] + tmp[-mid-1]] / 2


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 2.5

Cần lưu ý rằng cách tiếp cận đơn giản là không tính trung bình hai phần tử ở giữa trong trường hợp danh sách có số phần tử chẵn cũng thường là đủ

Phương pháp 3. Phương pháp tiếp cận không có thư viện ngây thơ

Nếu bạn đồng ý trả về phần tử ở giữa đầu tiên khi tìm kiếm trung vị của danh sách có số phần tử chẵn, bạn có thể sử dụng phương pháp sau

  • Sắp xếp danh sách
  • Lấy chỉ mục của phần tử ở giữa bên trái [trong trường hợp độ dài danh sách là số chẵn] và chỉ mục của phần tử ở giữa đơn [trong trường hợp độ dài của danh sách là số lẻ]
  • Trả về trung vị bằng cách truy cập phần tử giữa trong danh sách đã sắp xếp

Đặc biệt, ba dòng trong Python thực hiện công việc

  • def get_median[lst]:
        tmp = sorted[lst]
        mid = len[tmp] // 2
        return [tmp[mid] + tmp[-mid-1]] / 2
    
    
    odd = [3, 2, 4, 7, 1]
    print[get_median[odd]]
    # 3
    
    
    even = [3, 2, 4, 7, 1, 1]
    print[get_median[even]]
    # 2.5
    
    1
  • def get_median[lst]:
        tmp = sorted[lst]
        mid = len[tmp] // 2
        return [tmp[mid] + tmp[-mid-1]] / 2
    
    
    odd = [3, 2, 4, 7, 1]
    print[get_median[odd]]
    # 3
    
    
    even = [3, 2, 4, 7, 1, 1]
    print[get_median[even]]
    # 2.5
    
    2
  • def get_median[lst]:
        tmp = sorted[lst]
        mid = len[tmp] // 2
        return [tmp[mid] + tmp[-mid-1]] / 2
    
    
    odd = [3, 2, 4, 7, 1]
    print[get_median[odd]]
    # 3
    
    
    even = [3, 2, 4, 7, 1, 1]
    print[get_median[even]]
    # 2.5
    
    6

Biến

def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return [tmp[mid] + tmp[-mid-1]] / 2


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 2.5
7 chứa trung vị của danh sách

Đây là một ví dụ

def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return tmp[mid]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 3

Xin lưu ý rằng đây không nhất thiết là cách thống kê hợp lý để tính trung vị cho một danh sách có số phần tử chẵn

Phương pháp 4. np. Trung bình[]

Bạn có thể lấy trung vị của một danh sách Python your_list bằng cách nhập thư viện

def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return [tmp[mid] + tmp[-mid-1]] / 2


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 2.5
9 và gọi
def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return tmp[mid]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 3
0

Đây là một ví dụ đơn giản về cách chúng tôi sử dụng NumPy để tính giá trị trung bình của danh sách Python

import numpy as np


def get_median[lst]:
    return np.median[lst]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3.0


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 2.5

Chúng tôi tạo hai danh sách

  • 3 là trung vị của danh sách [3, 2, 4, 7, 1] như có thể thấy trong biểu diễn được sắp xếp [1, 2, 3, 4, 7]. NumPy chuyển đổi tất cả các đầu ra thành float nếu có thể
  • 2. 5 là trung vị của danh sách [3, 2, 4, 7, 1, 1] như có thể thấy trong biểu diễn được sắp xếp [1, 1, 2, 3, 4, 7] và [2+3]/2 là . 5

Đâu là sự khác biệt giữa numpy. trung vị [] và số liệu thống kê. Trung bình[]

Không giống như thư viện statistics, thư viện

def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return [tmp[mid] + tmp[-mid-1]] / 2


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 2.5
9 không có trong các thư viện chuẩn của Python, vì vậy nó phải được cài đặt thủ công nếu bạn chưa cài đặt

Đó là lý do tại sao tôi khuyên bạn nên sử dụng

def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return tmp[mid]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 3
3 thay vì
def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return tmp[mid]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 3
4 nếu tất cả những gì bạn muốn làm là tính trung bình của danh sách Python

Ngoài ra,

def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return tmp[mid]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 3
3 trả về giá trị số nguyên cho danh sách số nguyên có số phần tử lẻ trong khi
def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return tmp[mid]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 3
4 luôn trả về số float. Mặt khác, cả hai chức năng đều giống nhau

Hướng dẫn liên quan. Làm cách nào để cài đặt NumPy trong Python?

Phương pháp 5. np. phần trăm []

Một cách tiếp cận tổng quát để tính giá trị trung bình của danh sách

def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return tmp[mid]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 3
7 gồm các số là sử dụng hàm
def get_median[lst]:
    tmp = sorted[lst]
    mid = len[tmp] // 2
    return tmp[mid]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 3
8 trả về phần trăm chính xác thứ 50 của danh sách. Phần trăm thứ 50 là trung bình

Sự định nghĩa. Phần trăm thứ 50 – Còn được gọi là Trung bình. Trung bình cắt giảm một nửa tập dữ liệu. Một nửa số câu trả lời nằm dưới trung vị và một nửa nằm trên trung vị. [nguồn]

Đây là ví dụ mã

import numpy as np


def get_median[lst]:
    return np.percentile[lst, 50]


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3.0


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 2.5

Phương pháp 6. Python cơ bản trong nhiều dòng

Một cách tiếp cận đơn giản để tìm trung vị của danh sách Python là xử lý các danh sách có kích thước đồng đều và có kích thước kỳ lạ khác nhau sau khi sắp xếp danh sách

  • Nếu danh sách có số phần tử lẻ, trả về ngay trung vị bằng cách sử dụng
    def get_median[lst]:
        tmp = sorted[lst]
        mid = len[tmp] // 2
        return tmp[mid]
    
    
    odd = [3, 2, 4, 7, 1]
    print[get_median[odd]]
    # 3
    
    
    even = [3, 2, 4, 7, 1, 1]
    print[get_median[even]]
    # 3
    
    9 để lấy chỉ số của phần tử ở giữa
  • Mặt khác, tính trung bình hai phần tử ở giữa danh sách được sắp xếp

Đây là đoạn mã triển khai phương pháp này - nhận xét để giải thích về các phần có liên quan

def get_median[lst]:
    l = sorted[lst]
    mid = len[l] // 2
    if len[lst]%2:
        # list is odd-sized:
        # single median exists
        return l[mid]
    else:
        # list is evenly-sized:
        # average two mid values
        return [l[mid-1]+l[mid]]/2


odd = [3, 2, 4, 7, 1]
print[get_median[odd]]
# 3.0


even = [3, 2, 4, 7, 1, 1]
print[get_median[even]]
# 2.5

Video liên quan – Tìm trung vị của danh sách Python

Cách tìm trung vị của một danh sách trong Python HƯỚNG DẪN [Câu hỏi phỏng vấn Python phổ biến]


Xem video này trên YouTube

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Làm cách nào để tính trung bình trong Python?

median[] tính toán giá trị trung bình [giá trị trung bình] của tập dữ liệu đã cho. Phương pháp này cũng sắp xếp dữ liệu theo thứ tự tăng dần trước khi tính trung bình. Mẹo. Công thức toán học cho Median là. Trung vị = {[n + 1] / 2}giá trị thứ , trong đó n là số lượng giá trị trong một tập hợp dữ liệu.

Trung vị có phải là một hàm trong Python không?

Hàm median[] trong mô-đun thống kê Python . Ưu điểm lớn nhất của việc sử dụng hàm median[] là danh sách dữ liệu không cần phải sắp xếp trước khi được gửi dưới dạng tham số cho hàm median[].

Chủ Đề