Làm thế nào để bạn tìm thấy lỗi tiêu chuẩn của một danh sách trong python?

Bài viết này hướng dẫn bạn cách tính độ lệch chuẩn của một danh sách các giá trị số đã cho trong Python

Định nghĩa và xây dựng vấn đề

Độ lệch chuẩn được định nghĩa là căn bậc hai của phương sai

Trong trường hợp bạn đã tham dự khóa học thống kê cuối cùng của mình cách đây vài năm, hãy nhanh chóng tóm tắt lại định nghĩa về phương sai. phương sai là độ lệch bình phương trung bình của các phần tử danh sách từ giá trị trung bình

Làm thế nào để bạn tìm thấy lỗi tiêu chuẩn của một danh sách trong python?

Làm thế nào để bạn tìm thấy lỗi tiêu chuẩn của một danh sách trong python?

Độ lệch chuẩn chỉ đơn giản là căn bậc hai của phương sai

Vậy, làm cách nào để tính độ lệch chuẩn của một danh sách đã cho trong Python?

Tổng quan về giải pháp

Làm cách nào để lấy độ lệch chuẩn của danh sách Python?

Làm thế nào để bạn tìm thấy lỗi tiêu chuẩn của một danh sách trong python?

Xem video này trên YouTube

Dưới đây là ba phương pháp để thực hiện điều này

  1. Phương pháp 1. Nhập thư viện NumPy với
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    2 và gọi
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    3
  2. Phương pháp 2. Nhập thư viện
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    4 với
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    5 và gọi
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    6 để thu được kết quả hơi khác một chút vì nó được chuẩn hóa bằng (n-1) thay vì n cho n phần tử danh sách — đây được gọi là hiệu chỉnh của Bessel
  3. Phương pháp 3. Trong vanilla Python không có sự phụ thuộc bên ngoài, hãy tính giá trị trung bình là
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    7 và sau đó tính phương sai bằng cách sử dụng một lớp lót
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    8

Ngoài ba phương pháp này, chúng tôi cũng sẽ chỉ cho bạn cách tính độ lệch chuẩn trong Khung dữ liệu Pandas ở Phương pháp 4

Nhưng trước khi làm điều này, hãy kiểm tra ba phương thức đầu tiên trong một đoạn mã Python

lst = [1, 0, 1, 2]

# 1. NumPy Standard Deviation
import numpy as np
std = np.std(lst)
print(std)
# 0.7071067811865476

# 2. Statistics Standard Deviation
import statistics
std = statistics.stdev(lst)
print(std)
# 0.816496580927726

# 3. W/O External Dependency
avg = sum(lst) / len(lst)
var = sum((x-avg)**2 for x in lst) / len(lst)
std = var**0.5
print(std)
# 0.7071067811865476

Tiếp theo, hãy đi sâu vào từng phương pháp đó

Phương pháp 1. Độ lệch chuẩn trong Thư viện NumPy

import numpy as np

lst = [1, 0, 1, 2]
std = np.std(lst)

print(std)
# 0.7071067811865476

Trong ví dụ đầu tiên, bạn tạo danh sách và chuyển nó làm đối số cho hàm

import numpy as np

lst = [1, 0, 1, 2]
std = np.std(lst)

print(std)
# 0.7071067811865476
9 của thư viện NumPy

💡 Lưu ý. Gói Python dành cho tính toán khoa học dữ liệu NumPy cũng có chức năng thống kê tuyệt vời. Cụ thể, thư viện NumPy cũng hỗ trợ tính toán trên các loại bộ sưu tập cơ bản, không chỉ trên mảng NumPy. Bạn có thể tính toán tất cả các hàm thống kê cơ bản như trung bình, trung bình, phương sai và độ lệch chuẩn trên mảng NumPy

Nếu bạn cần cải thiện kỹ năng NumPy của mình, hãy xem hướng dẫn chuyên sâu trên blog của chúng tôi

Bạn cũng có thể tính độ lệch chuẩn của mảng NumPy thay vì danh sách bằng cách sử dụng phương pháp tương tự

Chỉ cần nhập thư viện NumPy và sử dụng phương pháp

import numpy as np

a = np.array([1, 2, 3])
print(np.std(a))
# 0.816496580927726
0 để tính giá trị trung bình của mảng NumPy
import numpy as np

a = np.array([1, 2, 3])
print(np.std(a))
# 0.816496580927726
1

Đây là mã

import numpy as np

a = np.array([1, 2, 3])
print(np.std(a))
# 0.816496580927726

Phương pháp 2. Độ lệch chuẩn trong Thư viện thống kê

import statistics

lst = [1, 0, 1, 2]
std = statistics.stdev(lst)
print(std)
# 0.816496580927726

Trong ví dụ thứ hai, bạn tính độ lệch chuẩn như sau

Nhập thư viện

import numpy as np

lst = [1, 0, 1, 2]
std = np.std(lst)

print(std)
# 0.7071067811865476
4 và gọi hàm
import numpy as np

a = np.array([1, 2, 3])
print(np.std(a))
# 0.816496580927726
3 để tính độ lệch chuẩn của danh sách đã cho
import numpy as np

a = np.array([1, 2, 3])
print(np.std(a))
# 0.816496580927726
4. Sự khác biệt duy nhất đối với độ lệch chuẩn NumPy là hiệu chỉnh của Bessel được áp dụng. kết quả được chia cho (n-1) thay vì n

Nếu bạn cần thêm thông tin cơ bản về điều này, hãy nhấp vào liên kết wiki này

Độ lệch chuẩn được định nghĩa là độ lệch của các giá trị dữ liệu so với mức trung bình (wiki). Nó được sử dụng để đo lường sự phân tán của một tập dữ liệu

Phương pháp 3. Vanilla Python Độ lệch chuẩn

lst = [1, 0, 1, 2]
avg = sum(lst) / len(lst)
var = sum((x-avg)**2 for x in lst) / len(lst)
std = var**0.5

print(std)
# 0.7071067811865476

Trong ví dụ thứ ba, trước tiên bạn tính giá trị trung bình là

import numpy as np

a = np.array([1, 2, 3])
print(np.std(a))
# 0.816496580927726
5

Sau đó, bạn sử dụng một biểu thức trình tạo (xem phần hiểu danh sách) để tự động tạo một tập hợp các khác biệt bình phương riêng lẻ, một cho mỗi phần tử danh sách, bằng cách sử dụng biểu thức _______10_______6

Bạn tổng hợp chúng lại và chuẩn hóa kết quả bằng cách chia cho số phần tử danh sách để thu được phương sai

Phương pháp 4. Độ lệch chuẩn trong Python Pandas

Bạn muốn tính độ lệch chuẩn của một cột trong Khung dữ liệu Pandas của mình?

Bạn có thể làm điều này bằng cách sử dụng hàm

import numpy as np

a = np.array([1, 2, 3])
print(np.std(a))
# 0.816496580927726
7 tính toán độ lệch chuẩn dọc theo tất cả các cột. Sau đó, bạn có thể lấy cột mà bạn quan tâm sau khi tính toán

import pandas as pd

# Create your Pandas DataFrame
d = {'username': ['Alice', 'Bob', 'Carl'],
     'age': [18, 22, 43],
     'income': [100000, 98000, 111000]}
df = pd.DataFrame(d)

print(df)

DataFrame của bạn trông như thế này


usernameageincome0Alice181000001Bob22980002Carl43111000

Đây là cách bạn có thể tính toán độ lệch chuẩn của tất cả các cột

print(df.std())

Đầu ra là độ lệch chuẩn của tất cả các cột

age         13.428825
income    7000.000000
dtype: float64

Để có phương sai của một cột riêng lẻ, hãy truy cập cột đó bằng cách lập chỉ mục đơn giản

print(df.std()['age'])
# 180.33333333333334

Câu hỏi liên quan

Đây là mức tối thiểu tuyệt đối bạn cần biết về tính toán các số liệu thống kê cơ bản, chẳng hạn như độ lệch chuẩn (và phương sai) trong Python

Nhưng còn nhiều điều hơn thế nữa và việc nghiên cứu các cách thức và giải pháp thay thế khác sẽ thực sự giúp bạn trở thành một lập trình viên giỏi hơn

Vì vậy, hãy đi sâu vào một số câu hỏi và chủ đề liên quan mà bạn có thể muốn tìm hiểu

Trung bình danh sách Python

Trung vị của một danh sách Python là gì?

Làm thế nào để bạn tìm thấy lỗi tiêu chuẩn của một danh sách trong python?

Làm cách nào để tính giá trị trung bình của danh sách Python?

  • Sắp xếp danh sách các phần tử bằng cách sử dụng hàm tích hợp
    import numpy as np
    
    a = np.array([1, 2, 3])
    print(np.std(a))
    # 0.816496580927726
    
    8 trong Python
  • Tính chỉ số của phần tử ở giữa (xem hình) bằng cách chia độ dài của danh sách cho 2 bằng phép chia số nguyên
  • Trả lại phần tử ở giữa

Cùng nhau, bạn có thể lấy trung vị một cách đơn giản bằng cách thực hiện biểu thức

import numpy as np

a = np.array([1, 2, 3])
print(np.std(a))
# 0.816496580927726
9

Đây là ví dụ mã cụ thể

income = [80000, 90000, 100000, 88000]

average = sum(income) / len(income)
median = sorted(income)[len(income)//2]

print(average)
# 89500.0

print(median)
# 90000.0

hướng dẫn liên quan

  • Hướng dẫn chi tiết cách sắp xếp danh sách trong Python trên blog này

Danh sách Python có nghĩa là

Giá trị trung bình hoàn toàn giống với giá trị trung bình. tính tổng tất cả các giá trị trong chuỗi của bạn và chia cho độ dài của chuỗi

Bạn có thể sử dụng phép tính

import statistics

lst = [1, 0, 1, 2]
std = statistics.stdev(lst)
print(std)
# 0.816496580927726
0 hoặc bạn có thể nhập mô-đun
import numpy as np

lst = [1, 0, 1, 2]
std = np.std(lst)

print(std)
# 0.7071067811865476
4 và gọi
import statistics

lst = [1, 0, 1, 2]
std = statistics.stdev(lst)
print(std)
# 0.816496580927726
2

Đây là cả hai ví dụ

import numpy as np

lst = [1, 0, 1, 2]
std = np.std(lst)

print(std)
# 0.7071067811865476
0

Cả hai phương pháp đều tương đương. Mô-đun

import numpy as np

lst = [1, 0, 1, 2]
std = np.std(lst)

print(std)
# 0.7071067811865476
4 có một số biến thể thú vị hơn của phương pháp
import statistics

lst = [1, 0, 1, 2]
std = statistics.stdev(lst)
print(std)
# 0.816496580927726
4 (nguồn)

Trung bình số học (“trung bình”) của dữ liệu. Trung vị (giá trị trung bình) của dữ liệu. Dữ liệu trung bình thấp. Dữ liệu trung bình cao. Trung bình, hoặc phân vị thứ 50, của dữ liệu được nhóm. Chế độ (giá trị phổ biến nhất) của dữ liệu rời rạc

Điều này đặc biệt thú vị nếu bạn có hai giá trị trung bình và bạn muốn quyết định lấy giá trị nào

Danh sách Python tối thiểu tối đa

Có các hàm tích hợp sẵn của Python tính toán giá trị tối thiểu và tối đa của một danh sách đã cho. Phương pháp

lst = [1, 0, 1, 2]
avg = sum(lst) / len(lst)
var = sum((x-avg)**2 for x in lst) / len(lst)
std = var**0.5

print(std)
# 0.7071067811865476
1 tính giá trị nhỏ nhất và phương pháp
lst = [1, 0, 1, 2]
avg = sum(lst) / len(lst)
var = sum((x-avg)**2 for x in lst) / len(lst)
std = var**0.5

print(std)
# 0.7071067811865476
2 tính giá trị lớn nhất trong danh sách

Đây là một ví dụ về các tính toán tối thiểu, tối đa và trung bình trong danh sách Python

import numpy as np

lst = [1, 0, 1, 2]
std = np.std(lst)

print(std)
# 0.7071067811865476
1

Đi đâu từ đây

Tóm lược. cách tính độ lệch chuẩn của một danh sách đã cho trong Python?

  1. Nhập thư viện NumPy với
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    2 và sử dụng hàm
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    3
  2. Nhập thư viện
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    4 với
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    5 và gọi
    import numpy as np
    
    lst = [1, 0, 1, 2]
    std = np.std(lst)
    
    print(std)
    # 0.7071067811865476
    6 để thu được kết quả hơi khác một chút vì nó được chuẩn hóa bằng (n-1) thay vì n cho n phần tử danh sách – đây được gọi là hiệu chỉnh Bessel
  3. Không phụ thuộc bên ngoài. Tính giá trị trung bình là
    import numpy as np
    
    a = np.array([1, 2, 3])
    print(np.std(a))
    # 0.816496580927726
    
    5 và sau đó tính phương sai trong một tuyên bố hiểu danh sách

Nếu bạn tiếp tục vật lộn với những lệnh Python cơ bản đó và bạn cảm thấy bế tắc trong quá trình học tập của mình, thì tôi có thứ này cho bạn. Python One-Liners (Liên kết Amazon)

Trong cuốn sách này, tôi sẽ cung cấp cho bạn tổng quan kỹ lưỡng về các chủ đề khoa học máy tính quan trọng như học máy, biểu thức chính quy, khoa học dữ liệu, NumPy và kiến ​​thức cơ bản về Python—tất cả trong một dòng mã Python

Lấy sách từ Amazon

MÔ TẢ SÁCH CHÍNH THỨC. Python One-Liners sẽ chỉ cho người đọc cách thực hiện các tác vụ hữu ích với một dòng mã Python. Sau phần giới thiệu ngắn gọn về Python, cuốn sách bao gồm các chủ đề nâng cao cần thiết như cắt, hiểu danh sách, phát sóng, hàm lambda, thuật toán, biểu thức chính quy, mạng thần kinh, hồi quy logistic, v.v. Mỗi phần trong số 50 phần của cuốn sách giới thiệu một vấn đề cần giải quyết, hướng dẫn người đọc các kỹ năng cần thiết để giải quyết vấn đề đó, sau đó cung cấp một giải pháp Python ngắn gọn với lời giải thích chi tiết

Làm thế nào để bạn tìm thấy lỗi tiêu chuẩn của một danh sách trong python?

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

Phương pháp nào được sử dụng để hiển thị lỗi tiêu chuẩn trong Python?

stdev() trong mô-đun thống kê Python.

Làm thế nào tôi có thể tính toán lỗi tiêu chuẩn?

Bạn tính toán sai số chuẩn như thế nào? . Nó cung cấp độ chính xác của giá trị trung bình mẫu bằng cách bao gồm tính biến thiên từ mẫu này sang mẫu khác của giá trị trung bình mẫu. dividing the standard deviation by the sample size's square root. It gives the precision of a sample mean by including the sample-to-sample variability of the sample means.