Tính độ lệch chuẩn giữa các cột python

Trong Python, Độ lệch chuẩn có thể được tính theo nhiều cách – học cách sử dụng Thống kê Python, hàm Numpy và Pandas ‘độ lệch chuẩn [std].

Độ lệch Chuẩn là một thước đo mô tả mức độ dàn trải của các giá trị trong một tập dữ liệu. Trong Python, Độ lệch chuẩn có thể được tính theo nhiều cách – trong đó dễ nhất là sử dụng hàm số liệu thống kê hoặc hàm độ lệch chuẩn [std] của Numpy.

Trong hướng dẫn này, bạn sẽ tìm hiểu độ lệch chuẩn là gì, cách tính độ lệch chuẩn bằng các hàm tích hợp và cách sử dụng Python để tạo thống kê từ đầu!

Độ lệch chuẩn là một cách hữu ích để đo lường mức độ “dàn trải” của các giá trị trong tập dữ liệu.

Nhưng bạn giải thích độ lệch chuẩn như thế nào?

Một độ lệch chuẩn nhỏ có nghĩa là hầu hết các số đều gần với giá trị trung bình [trung bình]. Tuy nhiên, độ lệch chuẩn lớn có nghĩa là các giá trị này càng xa giá trị trung bình.

Nếu không có nó, bạn sẽ không thể đi sâu vào các tập dữ liệu một cách dễ dàng và hiệu quả. Hai tập dữ liệu có thể có cùng giá trị trung bình nhưng có thể hoàn toàn khác nhau về cách các giá trị đó được phân phối. Đây là nơi mà độ lệch chuẩn rất quan trọng.

Công thức độ lệch chuẩn trông giống như sau:

σ = √Σ [xi – μ] 2 / [n-1]

Hãy phân tích vấn đề này một chút:

  • σ [“sigma”] là biểu tượng cho độ lệch chuẩn
  • Σ là một cách viết vui nhộn “tổng của”
  • xi đại diện cho mọi giá trị trong dữ liệu set
  • μ là giá trị trung bình [trung bình] trong tập dữ liệu
  • n là kích thước mẫu

Tại sao Độ lệch Chuẩn lại quan trọng?

Như đã giải thích ở trên, độ lệch chuẩn là thước đo chính giải thích mức độ dàn trải của các giá trị trong tập dữ liệu . Một độ lệch chuẩn nhỏ xảy ra khi các điểm dữ liệu khá gần với giá trị trung bình. Tuy nhiên, độ lệch chuẩn lớn xảy ra khi các giá trị ít được nhóm xung quanh giá trị trung bình.

Một tập dữ liệu có thể có cùng giá trị với một tập dữ liệu khác, nhưng rất khác. Hãy xem điều này với một ví dụ:

  • Tập dữ liệu # 1 = [1,1,1,1,1,1,1,1,2,10]
  • Tập dữ liệu # 2 = [2,2,2 , 2,2,2,2,2,2,2]

Cả hai tập dữ liệu này đều có cùng giá trị trung bình [2], nhưng thực tế rất khác nhau.

Chúng tôi sẽ quay lại các ví dụ này sau khi chúng tôi tính toán độ lệch chuẩn để minh họa điểm này.

Cách tính Độ lệch Chuẩn trong Python?

Cách dễ nhất để tính độ lệch chuẩn trong Python là sử dụng mô-đun thống kê hoặc thư viện Numpy.

Sử dụng Mô-đun Thống kê

Mô-đun thống kê có một hàm tích hợp được gọi là stdev, theo cú pháp bên dưới:

 standard_deversion = stdev [[data], xbar] 
  • [data] là một tập hợp các điểm dữ liệu
  • xbar là một tham số boolean [Đúng hoặc Sai], để lấy giá trị trung bình thực của tập dữ liệu làm giá trị

Hãy thử điều này với một ví dụ:

 thống kê nhập

mẫu = [1,2,3,4,5,5,5,5,10]
độ lệch chuẩn = Statistics.stdev [mẫu]
in [độ lệch chuẩn]

# Trả về 2,55 

​​Xem một số hướng dẫn Python trên datagy.io, bao gồm mục tiêu hướng dẫn đầy đủ về cách tạo kiểu cho Gấu trúc tổng quan toàn diện của chúng tôi về Pivot Table in Pandas !

Sử dụng Numpy để tính độ lệch chuẩn

Numpy có một hàm có tên là std, được sử dụng để tính độ lệch chuẩn của một mẫu.

Điều này tuân theo cú pháp sau:

 standard_deversion = np.std [[data], ddof = 1] 

Công thức có hai tham số:

  1. Dữ liệu là mẫu dữ liệu
  2. ddof là giá trị của bậc tự do. Chúng tôi áp dụng 1, vì chúng tôi đang tính toán độ lệch chuẩn cho một mẫu [thay vì toàn bộ tập hợp]

Bây giờ, hãy thử điều này với một ví dụ:

 nhập numpy dưới dạng np

mẫu = [1,2,3,4,5,5,5,5,10]
độ lệch chuẩn = np.std [mẫu, ddof = 1]
in [độ lệch chuẩn]

# Trả về 2,55 

Tính Độ lệch Chuẩn cho Danh sách

Để tính toán độ lệch chuẩn cho danh sách chứa các giá trị của mẫu, chúng ta có thể sử dụng một trong hai phương pháp mà chúng ta đã khám phá ở trên. Đối với ví dụ này, hãy sử dụng Numpy:

 nhập numpy dưới dạng np

sample_list = [10,30,43,23,67,49,78,98]
độ lệch chuẩn = np.std [danh sách mẫu, ddof = 1]
in [độ lệch chuẩn]

# Trả về 29,65 

Tính độ lệch chuẩn cho các giá trị từ điển

Để tính toán độ lệch chuẩn cho các giá trị từ điển trong Python, bạn cần cho Python biết bạn chỉ muốn các giá trị của từ điển đó.

Đối với ví dụ bên dưới, chúng tôi sẽ làm việc với chiều cao của mọi người theo đơn vị cm và tính toán độ lệch chuẩn:

 nhập numpy dưới dạng np

sample_dictionary = {'John': 170, 'Meaghan': 155, 'Kate': 160, 'Peter': 185, 'Jane': 145}
độ lệch chuẩn = np.std [list [sample_dictionary.values ​​[]], ddof = 1]
in [độ lệch chuẩn]

# Trả về 15,25 

Điều này rất giống, ngoại trừ việc chúng tôi sử dụng hàm danh sách để chuyển các giá trị từ điển thành một danh sách.

Độ lệch Chuẩn của Gấu trúc

Nếu đang làm việc với Gấu trúc, bạn có thể tự hỏi liệu Gấu trúc có chức năng chống lệch chuẩn hay không.

Pandas cho phép bạn tính toán độ lệch chuẩn cho một chuỗi hoặc thậm chí toàn bộ khung dữ liệu!

Cú pháp chuẩn trông giống như sau:

 DataFrame.std [self, axis = Không, bỏ qua = Không, level = Không, ddof = 1, numeric_only = Không] 

Hãy cùng khám phá các thông số sau:

  • trục là 0 đối với chỉ mục hoặc 1 đối với cột
  • bỏ qua được sử dụng để bao gồm / loại trừ các giá trị null / NA trong phép tính
  • mức xác định xem trục có đa chỉ mục và cho Gấu trúc biết mức nào cần đếm
  • ddof mặc định là 1 vì công thức được sử dụng cho các mẫu
  • numeric_only chỉ bao gồm các giá trị số trong phép tính

Hãy thử làm điều này với một ví dụ, sử dụng chiều cao và cân nặng của mọi người:

 nhập gấu trúc dưới dạng pd

dataframe_dictionary = {'Tên': ['John', 'Meaghan', 'Kate', 'Peter', 'Jane'],
                        'Chiều cao': [170,155,160,185,145],
                        'Trọng lượng': [160, 120, 125, 200, 135]}
df = pd.DataFrame [data = dataframe_dictionary]
độ lệch chuẩn = df.std []

in [độ lệch chuẩn]

# Lợi nhuận
# Chiều cao 15.247951
# Trọng lượng 32,901368 

Nếu bạn chỉ muốn trả lại phân phối chuẩn cho một cột, chẳng hạn như chiều cao, bạn có thể viết:

 nhập gấu trúc dưới dạng pd

dataframe_dictionary = {'Tên': ['John', 'Meaghan', 'Kate', 'Peter', 'Jane'],
                        'Chiều cao': [170,155,160,185,145],
                        'Trọng lượng': [160, 120, 125, 200, 135]}
df = pd.DataFrame [data = dataframe_dictionary]
độ lệch chuẩn = df ['Chiều cao']. std []

in [độ lệch chuẩn]

# Trả về 15.247951 

Bạn có thể tìm hiểu thêm về hàm Pandas std bằng cách xem tài liệu chính thức tại đây .

​​Xem một số hướng dẫn Python trên datagy.io, bao gồm mục tiêu hướng dẫn đầy đủ về cách tạo kiểu cho Gấu trúc tổng quan toàn diện của chúng tôi về Pivot Table in Pandas !

Độ lệch chuẩn của Python so với Scratch

Đối với ví dụ cuối cùng của chúng tôi, hãy xây dựng độ lệch chuẩn từ đầu, xem điều gì đang thực sự xảy ra.

Để bắt đầu, hãy cùng xem lại công thức:

σ = √Σ [xi – μ] 2 / [n-1]

Trong đoạn mã dưới đây, các bước cần thiết được chia nhỏ:

 nhập toán

sample_list = [170,155,160,185,145]

# Cần: [1] giá trị trung bình, [2] chênh lệch giữa mỗi giá trị và giá trị trung bình, bình phương, [3] cỡ mẫu

# Tìm giá trị Trung bình
tổng = 0
for i in range [len [sample_list]]:
    tổng + = sample_list [i]

mean = sums / len [sample_list]

# Tìm bình phương chênh lệch của giá trị trung bình và mỗi giá trị
chênh lệch_squared = 0
for i in range [len [sample_list]]:
    diff_squared + = [sample_list [i] - mean] ** 2

# Tìm Căn bậc hai
độ lệch chuẩn = math.sqrt [chênh lệch_squared / [[len [danh sách mẫu]] - 1]]

in [độ lệch chuẩn]
# Trả về 15,25 

Kết luận

Trong bài đăng này, chúng ta đã tìm hiểu tất cả về độ lệch chuẩn. Chúng tôi bắt đầu bằng cách tìm hiểu nó là gì và cách tính nó cũng như tại sao nó lại quan trọng. Sau đó, chúng tôi đã học cách tính độ lệch chuẩn trong Python, sử dụng mô-đun thống kê, Numpy, và cuối cùng là áp dụng nó cho Pandas. Chúng tôi đã kết thúc hướng dẫn bằng cách trình bày cách tính độ lệch chuẩn từ đầu bằng Python cơ bản!

Tôi hy vọng bạn đã học được nhiều điều! Nếu bạn làm như vậy, nếu bạn cân nhắc chia sẻ nó, điều đó sẽ giúp tôi rất nhiều!

Chủ Đề