Viết chương trình python cho median

Trong hướng dẫn này, chúng ta sẽ xem xét cách lấy giá trị trung bình của danh sách các giá trị trong Python. Chúng tôi sẽ hướng dẫn bạn cách sử dụng các phương pháp khác nhau với sự trợ giúp của các ví dụ

trung vị là gì?

Trung vị là một thống kê mô tả được sử dụng như thước đo xu hướng trung tâm của phân phối. Nó bằng với giá trị trung bình của phân phối. Có số lượng giá trị nhỏ hơn và lớn hơn giá trị trung bình bằng nhau. Nó cũng không nhạy cảm lắm với sự hiện diện của các giá trị ngoại lai trong dữ liệu như giá trị trung bình [một thước đo khác của xu hướng trung tâm]

Để tính giá trị trung bình của một danh sách các giá trị –

  1. Sắp xếp các giá trị theo thứ tự tăng dần hoặc giảm dần [hoặc hoạt động]
  2. Nếu số lượng giá trị n là số lẻ thì trung vị là giá trị ở vị trí
    def get_median[ls]:
        # sort the list
        ls_sorted = ls.sort[]
        # find the median
        if len[ls] % 2 != 0:
            # total number of values are odd
            # subtract 1 since indexing starts at 0
            m = int[[len[ls]+1]/2 - 1]
            return ls[m]
        else:
            m1 = int[len[ls]/2 - 1]
            m2 = int[len[ls]/2]
            return [ls[m1]+ls[m2]]/2
    
    # create a list
    ls = [3, 1, 4, 9, 2, 5, 3, 6]
    # get the median
    print[get_median[ls]]
    3 trong danh sách [hoặc mảng] giá trị được sắp xếp.
    Nếu số lượng giá trị n là số chẵn thì trung vị là trung bình cộng của các giá trị ở vị trí
    def get_median[ls]:
        # sort the list
        ls_sorted = ls.sort[]
        # find the median
        if len[ls] % 2 != 0:
            # total number of values are odd
            # subtract 1 since indexing starts at 0
            m = int[[len[ls]+1]/2 - 1]
            return ls[m]
        else:
            m1 = int[len[ls]/2 - 1]
            m2 = int[len[ls]/2]
            return [ls[m1]+ls[m2]]/2
    
    # create a list
    ls = [3, 1, 4, 9, 2, 5, 3, 6]
    # get the median
    print[get_median[ls]]
    4 và
    def get_median[ls]:
        # sort the list
        ls_sorted = ls.sort[]
        # find the median
        if len[ls] % 2 != 0:
            # total number of values are odd
            # subtract 1 since indexing starts at 0
            m = int[[len[ls]+1]/2 - 1]
            return ls[m]
        else:
            m1 = int[len[ls]/2 - 1]
            m2 = int[len[ls]/2]
            return [ls[m1]+ls[m2]]/2
    
    # create a list
    ls = [3, 1, 4, 9, 2, 5, 3, 6]
    # get the median
    print[get_median[ls]]
    5 trong danh sách [hoặc mảng] giá trị đã sắp xếp.

Ví dụ: tính giá trị trung bình của các giá trị sau –

Đầu tiên, hãy sắp xếp các số này theo thứ tự tăng dần

Bây giờ, vì tổng số giá trị là số chẵn [8], trung vị là giá trị trung bình của giá trị thứ 4 và thứ 5

Do đó, trung bình trở thành 3. 5

Bây giờ chúng ta đã thấy cách tính toán trung bình về mặt toán học, hãy xem cách tính trung bình trong Python

Trung bình của một danh sách Python

Để tính giá trị trung bình của một danh sách các giá trị trong Python, bạn có thể viết hàm của riêng mình hoặc sử dụng các phương thức có sẵn trong thư viện như ________ 16, ________ 00, v.v. Hãy xem xét các phương pháp này với sự trợ giúp của các ví dụ

1. Từ đầu triển khai trung bình trong Python

Bạn có thể viết hàm của riêng mình bằng Python để tính giá trị trung bình của danh sách

def get_median[ls]:
    # sort the list
    ls_sorted = ls.sort[]
    # find the median
    if len[ls] % 2 != 0:
        # total number of values are odd
        # subtract 1 since indexing starts at 0
        m = int[[len[ls]+1]/2 - 1]
        return ls[m]
    else:
        m1 = int[len[ls]/2 - 1]
        m2 = int[len[ls]/2]
        return [ls[m1]+ls[m2]]/2

# create a list
ls = [3, 1, 4, 9, 2, 5, 3, 6]
# get the median
print[get_median[ls]]

đầu ra

3.5

Ở đây, chúng ta sử dụng hàm list

3.5
1 để sắp xếp danh sách, sau đó tùy theo độ dài của danh sách mà trả về trung vị. Chúng tôi nhận được 3. 5 làm trung vị, giống như chúng tôi đã tính thủ công ở trên

Lưu ý rằng, so với hàm trên, các thư viện mà bạn sẽ thấy tiếp theo được tối ưu hóa tốt hơn để tính giá trị trung bình của một danh sách các giá trị

2. Sử dụng thư viện
3.5
0

Bạn cũng có thể sử dụng thư viện chuẩn

3.5
0 trong Python để lấy trung vị của một danh sách. Truyền danh sách làm đối số cho hàm
3.5
4

import statistics

# create a list
ls = [3, 1, 4, 9, 2, 5, 3, 6]
# get the median
print[statistics.median[ls]]

đầu ra

3.5

Ta được kết quả tương tự như trên

Để biết thêm về thư viện

3.5
0 trong Python, hãy tham khảo tài liệu của nó

3. Sử dụng thư viện
def get_median[ls]:
    # sort the list
    ls_sorted = ls.sort[]
    # find the median
    if len[ls] % 2 != 0:
        # total number of values are odd
        # subtract 1 since indexing starts at 0
        m = int[[len[ls]+1]/2 - 1]
        return ls[m]
    else:
        m1 = int[len[ls]/2 - 1]
        m2 = int[len[ls]/2]
        return [ls[m1]+ls[m2]]/2

# create a list
ls = [3, 1, 4, 9, 2, 5, 3, 6]
# get the median
print[get_median[ls]]
6

Hàm

3.5
8 của thư viện
def get_median[ls]:
    # sort the list
    ls_sorted = ls.sort[]
    # find the median
    if len[ls] % 2 != 0:
        # total number of values are odd
        # subtract 1 since indexing starts at 0
        m = int[[len[ls]+1]/2 - 1]
        return ls[m]
    else:
        m1 = int[len[ls]/2 - 1]
        m2 = int[len[ls]/2]
        return [ls[m1]+ls[m2]]/2

# create a list
ls = [3, 1, 4, 9, 2, 5, 3, 6]
# get the median
print[get_median[ls]]
6 thường được sử dụng để tính giá trị trung bình của một mảng có nhiều mảng. Bạn cũng có thể sử dụng chức năng này trên danh sách Python

def get_median[ls]:
    # sort the list
    ls_sorted = ls.sort[]
    # find the median
    if len[ls] % 2 != 0:
        # total number of values are odd
        # subtract 1 since indexing starts at 0
        m = int[[len[ls]+1]/2 - 1]
        return ls[m]
    else:
        m1 = int[len[ls]/2 - 1]
        m2 = int[len[ls]/2]
        return [ls[m1]+ls[m2]]/2

# create a list
ls = [3, 1, 4, 9, 2, 5, 3, 6]
# get the median
print[get_median[ls]]
1

đầu ra

3.5

Bạn có thể thấy rằng chúng tôi nhận được kết quả tương tự


Đăng ký nhận bản tin của chúng tôi để biết thêm thông tin và hướng dẫn.
Chúng tôi không gửi thư rác và bạn có thể chọn không tham gia bất kỳ lúc nào.


Tác giả

  • Piyush Raj

    Piyush là một chuyên gia dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trước đây, anh ấy từng là Nhà khoa học dữ liệu cho ZS và có bằng kỹ sư của IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trong các dự án phụ

    Trong hướng dẫn này, chúng ta sẽ đề cập đến thống kê xu hướng trung tâm, trung bình. Trung vị là giá trị ở giữa trong tập dữ liệu khi được sắp xếp từ lớn nhất đến nhỏ nhất hoặc nhỏ nhất đến lớn nhất

    Bây giờ chúng ta đã học về giá trị trung bình, hãy tìm hiểu một thống kê xu hướng trung tâm khác. Trung bình. Trung vị đề cập đến giá trị ở giữa trong tập dữ liệu, nhưng tập dữ liệu phải được sắp xếp từ nhỏ nhất đến lớn nhất hoặc lớn nhất đến nhỏ nhất. Tùy thuộc vào kích thước tập dữ liệu của bạn, giá trị trung bình có thể là một phép tính nhanh hoặc một nhiệm vụ rất tẻ nhạt dẫn đến nhiều sai lầm. Hơn nữa, nếu tập dữ liệu chứa một số lẻ giá trị thì việc tính toán sẽ dễ dàng hơn so với nếu nó chứa một số giá trị chẵn vì bạn phải gạch bỏ các giá trị rồi tính giá trị trung bình giữa hai số còn lại [đừng quá lo lắng về điều này

    Việc sử dụng cho các Median

    Trước khi tìm hiểu cách tính trung vị, hãy thảo luận về lý do tại sao chúng ta muốn giải quyết trung vị. Trong trường học và trong cuộc sống hàng ngày, mọi người thích sử dụng giá trị trung bình hơn giá trị trung bình, vậy tại sao phải mất thời gian và tìm hiểu về giá trị trung bình? . Tôi chỉ nghĩ rằng lý do chúng tôi không sử dụng trung bình là nó có thể gây khó khăn để giải quyết. Tuy nhiên, tôi nghĩ rằng trung bình thực sự là một phép đo dữ liệu tốt hơn giá trị trung bình, ít nhất là trong phần lớn các trường hợp. Đặc biệt, khi Python thực hiện hầu hết các công việc “nâng” nặng cho bạn, do đó, tôi luôn ưu tiên sử dụng giá trị trung bình làm chỉ số tóm tắt hiệu quả hơn

    Giá trị trung bình không bị ảnh hưởng bởi các giá trị ngoại lai của dữ liệu và hầu như không thể bị sai lệch. Để tìm trung vị của một tập dữ liệu nhỏ, phương pháp thủ công nhanh nhất là gạch bỏ một số ở mỗi bên cho đến khi bạn đến số ở giữa. Hãy xem một ví dụ nhanh, có một lớp gồm 11 học sinh và điểm của các em như sau. 44, 65, 88, 89, 92, 94, 95, 96, 99, 99, 100. Giá trị trung bình của lớp là 87 trong khi trung vị mà chúng ta sẽ giải quyết bằng phương pháp gạch chéo [44, 65, 88, 89, 92, 94, 95, 96, 99, 99, 100], vì vậy trung vị là 94. Bây giờ, chúng ta hãy lùi lại một bước và xem xét lại điểm số và bây giờ hãy tự hỏi bản thân phép đo nào phản ánh thành công chung của cả lớp trong kỳ thi nhiều hơn?

    Điều gì sẽ xảy ra nếu một tập dữ liệu lớn và việc sắp xếp và gạch bỏ là cực kỳ tốn thời gian và để lại khả năng xảy ra lỗi của con người? . Bước đầu tiên là sắp xếp danh sách từ nhỏ nhất đến lớn nhất hoặc ngược lại. Bước thứ hai là đếm xem có bao nhiêu điểm dữ liệu trong tập hợp của bạn, vì vậy nếu chúng tôi đang sử dụng ví dụ về điểm kiểm tra ở trên thì con số đó sẽ là 11. Bước thứ ba là sử dụng công thức. [số điểm dữ liệu + 1]/2. Công thức này không cung cấp cho bạn giá trị trung bình mà là vị trí trong danh sách. Vì vậy, quay trở lại ví dụ về điểm, công thức sẽ tạo ra giá trị là 6 và điểm ở vị trí thứ 6 của danh sách là 94. Hãy ghi nhớ, nếu câu trả lời là một số thập phân, chẳng hạn như 6. 5, sau đó lấy trung bình cộng giữa giá trị của dữ liệu ở vị trí thứ 6 và thứ 7

    Trung bình trong Python

    Vì vậy, bây giờ chúng ta đã biết cách giải và lý do tại sao chúng ta muốn giải cho trung vị, hãy xem cách lập trình để lấy trung vị trong Python. Điều quan trọng là phải nắm vững khái niệm toán học bằng tay vì Python thực hiện phép tính “đằng sau hậu trường”. Dưới đây, tôi sẽ trình bày cách lấy trung vị trong vanilla Python với kiểu dữ liệu chẳng hạn như danh sách. Ví dụ thứ hai sẽ được đề cập trong một vài bài viết sẽ đơn giản hơn nhiều nhưng chỉ có thể được sử dụng nếu bạn đã nhập gấu trúc và dữ liệu của bạn được sắp xếp trong một khung dữ liệu. Nếu hai câu cuối này làm bạn bối rối, đừng lo lắng, hãy ngừng đọc và đăng ký một trong những Khóa học Python hoặc Lớp khoa học dữ liệu tuyệt vời này được cung cấp trực tiếp tại NYC hoặc trực tuyến

    Hướng dẫn trung bình

    • Bước 1. Tạo một biến có tên test_scores và điền vào đó một danh sách các điểm kiểm tra riêng lẻ

    • Bước 2. Tạo một biến có tên là sorted_scores và đặt nó bằng sorted[test_scores], hàm sorted sẽ đặt test_scores theo thứ tự từ nhỏ nhất đến lớn nhất

    • Bước 3. Sử dụng thuộc tính len trên sorted_scores để lấy số lượng giá trị trong danh sách [giống như chúng ta đã làm với giá trị trung bình] và thêm một vào danh sách đó rồi chia cho 2 [đây là công thức được đánh dấu ở trên]

    • Bước 4. Lấy câu trả lời bạn nhận được từ Bước 3 và viết sorted_scores[5], điều này sẽ cho chúng ta điểm số ở vị trí thứ 6. Python sử dụng lập chỉ mục bằng không, vì vậy vị trí thứ năm là phần tử thứ sáu vì chúng ta bắt đầu đếm từ số không. Cuối cùng, đặt giá trị đó bằng trung vị và in trung bình

      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[].

      Công thức cho trung bình là gì?

      Công thức trung vị khi tập dữ liệu là số chẵn . Xác định vị trí hai số ở giữa tập dữ liệu. Tìm trung bình cộng của hai số ở giữa bằng cách cộng chúng lại với nhau rồi chia tổng cho hai . Kết quả của trung bình này là trung vị.

      Trung bình trong mã hóa là gì?

      Nếu một mảng được sắp xếp, trung vị là phần tử ở giữa của mảng trong trường hợp số phần tử trong mảng là số lẻ và khi số .

Chủ Đề