2
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đang cố gắng tìm ra cách tạo tập lệnh tính toán độ lệch chuẩn cho một tệp. Ví dụ, giả sử tôi đã đưa một CSV với một danh sách các giá trị trên đó. Tôi muốn tìm SD của các giá trị này bằng cách chạy chương trình Python. Chúng tôi không sử dụng Numpy ở đây!
Đã hỏi ngày 3 tháng 6 năm 2014 lúc 20:01Jun 3, 2014 at 20:01
1
Nếu bạn cho phép sử dụng thư viện tiêu chuẩn,
import math
xs = [0.5,0.7,0.3,0.2] # values [must be floats!]
mean = sum[xs] / len[xs] # mean
var = sum[pow[x-mean,2] for x in xs] / len[xs] # variance
std = math.sqrt[var] # standard deviation
Nếu không, bạn cần xấp xỉ
import statistics
data = [1, 1, 2.5, 6.5, 7.3, 8, 9.2]
print[statistics.pstdev[data]]
# 3.2159043543498815
2 bằng tay. Ví dụ: bạn có thể sử dụng phương pháp tìm kiếm nhị phân hoặc phương pháp của Newton. Đây là trang Wikipedia cho các phương thức làm như vậyĐã trả lời ngày 3 tháng 6 năm 2014 lúc 20:08Jun 3, 2014 at 20:08
Duckworthdduckworthdduckworthd
14.2K15 Huy hiệu vàng52 Huy hiệu bạc68 Huy hiệu đồng15 gold badges52 silver badges68 bronze badges
1
Với Python 3,4 trở lên, có một gói gọi là thống kê, có độ lệch chuẩn [PSTDEV] và các chức năng khác
Dưới đây là một ví dụ về cách sử dụng nó:
import statistics
data = [1, 1, 2.5, 6.5, 7.3, 8, 9.2]
print[statistics.pstdev[data]]
# 3.2159043543498815
Đã trả lời ngày 23 tháng 9 năm 2018 lúc 14:39Sep 23, 2018 at 14:39
Vlad Bezdenvlad BezdenVlad Bezden
76.5K23 Huy hiệu vàng237 Huy hiệu bạc176 Huy hiệu đồng23 gold badges237 silver badges176 bronze badges
from math import sqrt
n= [11, 8, 8, 3, 4, 4, 5, 6, 6, 7, 8]
mean =sum[n]/len[n]
SUM= 0
for i in n :
SUM +=[i-mean]**2
stdeV = sqrt[SUM/[len[n]-1]]
print[stdeV]
Đã trả lời ngày 4 tháng 1 năm 2021 lúc 0:30Jan 4, 2021 at 0:30
Reyadreyadreyad
Phù hiệu bằng đồng 1122 bronze badges
filename = "C:\Users\mmb0368\Desktop\input.txt"
file = open["C:\Users\mmb0368\Desktop\input.txt","rb"]
n = file.readlines[]
num_list = map[lambda n: n.rstrip["\n"], n]
num_list = [int[x] for x in num_list]
mean = sum[num_list]/len[num_list]
print mean, max[num_list], min[num_list]
for snDev in num_list:
snDev = mean**[1.0/2]
print snDev
Đã trả lời ngày 16 tháng 2 năm 2019 lúc 19:36Feb 16, 2019 at 19:36
0
Độ lệch chuẩn là một số liệu quan trọng được sử dụng để đo lường sự lây lan trong dữ liệu. Nó có các ứng dụng hữu ích trong việc mô tả dữ liệu, thử nghiệm thống kê, v.v. Có một số cách mà bạn có thể tính độ lệch chuẩn của danh sách các giá trị trong Python được đề cập trong hướng dẫn này với các ví dụ.
Trong hướng dẫn này, chúng tôi sẽ xem xét -
- Độ lệch chuẩn là gì?
- Tính toán độ lệch chuẩn theo cách thủ công
- Làm thế nào để tính độ lệch chuẩn của một danh sách trong Python?
- Độ lệch chuẩn của một mảng numpy
- Độ lệch chuẩn của một loạt gấu trúc
Độ lệch chuẩn là gì?
Độ lệch chuẩn là một thước đo của sự lây lan trong dữ liệu. Điều này có nghĩa là nếu độ lệch chuẩn cao hơn, dữ liệu sẽ được trải ra nhiều hơn và nếu nó thấp hơn, dữ liệu sẽ tập trung hơn. Nó được tính toán bằng cách lấy căn bậc hai của phương sai. Sau đây là công thức của độ lệch chuẩn.
Lưu ý rằng ở trên là công thức cho độ lệch chuẩn dân số. Đối với độ lệch chuẩn mẫu, chúng tôi sử dụng giá trị trung bình mẫu thay cho trung bình dân số và [kích thước mẫu - 1] thay cho kích thước dân số.
Cả phương sai và độ lệch chuẩn là các biện pháp lan truyền nhưng độ lệch chuẩn được sử dụng phổ biến hơn. Điều này là do độ lệch chuẩn nằm trong cùng một đơn vị với dữ liệu.
Trước khi chúng tôi tiến hành độ lệch chuẩn tính toán trong Python, hãy để Lừa tính nó theo cách thủ công để có được ý tưởng về những gì xảy ra. Ví dụ, hãy để tính toán độ lệch chuẩn của danh sách các giá trị [7, 2, 4, 3, 9, 12, 10, 1].
Để tính độ lệch chuẩn, trước tiên hãy tính toán giá trị trung bình của danh sách các giá trị.
Giá trị trung bình được đưa ra là sáu [μ = 6].
Bây giờ, để tính độ lệch chuẩn, sử dụng công thức trên, chúng tôi tổng hợp các bình phương của chênh lệch giữa giá trị và giá trị trung bình và sau đó chia tổng này cho n để có được phương sai.
Phương sai xuất hiện là 14,5
Độ lệch chuẩn sau đó có thể được tính toán bằng cách lấy căn bậc hai của phương sai.
Làm thế nào để tính độ lệch chuẩn trong Python?
Có một số cách để tính toán độ lệch chuẩn trong Python. Bạn có thể viết chức năng của riêng mình để tính toán độ lệch chuẩn hoặc sử dụng các phương thức ngoài luồng từ Numpy hoặc Pandas.
Hãy để Viết một triển khai vani tính toán STD Dev từ đầu trong Python mà không cần sử dụng bất kỳ thư viện bên ngoài nào.
def get_std_dev[ls]: n = len[ls] mean = sum[ls] / n var = sum[[x - mean]**2 for x in ls] / n std_dev = var ** 0.5 return std_dev # create a list of data points ls = [7, 2, 4, 3, 9, 12, 10, 2] get_std_dev[ls]
Output:
3.8078865529319543
Ở đây, chúng tôi đã tạo một hàm để trả về độ lệch chuẩn của danh sách các giá trị. Lưu ý rằng chúng tôi đã sử dụng hàm
import statistics
data = [1, 1, 2.5, 6.5, 7.3, 8, 9.2]
print[statistics.pstdev[data]]
# 3.2159043543498815
3 tích hợp Python để tính tổng hợp cho giá trị trung bình và phương sai. Hàm này tính toán tổng của chuỗi được truyền.Phương pháp trên không phải là cách duy nhất để có được độ lệch chuẩn của danh sách các giá trị. Bạn có thể lưu trữ các giá trị dưới dạng mảng numpy hoặc loạt gấu trúc và sau đó sử dụng các triển khai một dòng đơn giản để tính toán độ lệch chuẩn từ các thư viện này.
Độ lệch chuẩn của một mảng numpy
Độ lệch chuẩn của một loạt gấu trúc
import numpy as np # list of data points ls = [7, 2, 4, 3, 9, 12, 10, 2] # create numpy array of list values ar = np.array[ls] # get the standard deviation print[ar.std[]]
Output:
3.8078865529319543
Độ lệch chuẩn là gì?
Độ lệch chuẩn của một loạt gấu trúc
Độ lệch chuẩn là gì?
Độ lệch chuẩn là một thước đo của sự lây lan trong dữ liệu. Điều này có nghĩa là nếu độ lệch chuẩn cao hơn, dữ liệu sẽ được trải ra nhiều hơn và nếu nó thấp hơn, dữ liệu sẽ tập trung hơn. Nó được tính toán bằng cách lấy căn bậc hai của phương sai. Sau đây là công thức của độ lệch chuẩn.
Lưu ý rằng ở trên là công thức cho độ lệch chuẩn dân số. Đối với độ lệch chuẩn mẫu, chúng tôi sử dụng giá trị trung bình mẫu thay cho trung bình dân số và [kích thước mẫu - 1] thay cho kích thước dân số.
import pandas as pd # list of data points ls = [7, 2, 4, 3, 9, 12, 10, 2] # create pandas series of list values col = pd.Series[ls] # get the standard deviation print[col.std[]]
Output:
4.0708019567928595
Cả phương sai và độ lệch chuẩn là các biện pháp lan truyền nhưng độ lệch chuẩn được sử dụng phổ biến hơn. Điều này là do độ lệch chuẩn nằm trong cùng một đơn vị với dữ liệu.
import statistics
data = [1, 1, 2.5, 6.5, 7.3, 8, 9.2]
print[statistics.pstdev[data]]
# 3.2159043543498815
0Output:
3.8078865529319543
Trước khi chúng tôi tiến hành độ lệch chuẩn tính toán trong Python, hãy để Lừa tính nó theo cách thủ công để có được ý tưởng về những gì xảy ra. Ví dụ, hãy để tính toán độ lệch chuẩn của danh sách các giá trị [7, 2, 4, 3, 9, 12, 10, 1].
Để tính độ lệch chuẩn, trước tiên hãy tính toán giá trị trung bình của danh sách các giá trị.
Với điều này, chúng tôi đi đến cuối hướng dẫn này. Các ví dụ và kết quả mã được trình bày trong hướng dẫn này đã được triển khai trong A & NBSP; Jupyter Notebook & NBSP; với hạt nhân Python [phiên bản 3.8.3] có phiên bản Numpy 1.18.5 và Pandas phiên bản 1.0.5
Đăng ký nhận bản tin của chúng tôi để biết thêm hướng dẫn và hướng dẫn thông tin. Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào.
We do not spam and you can opt out any time.
Piyush là một nhà khoa học 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. Trong quá khứ, anh ta làm việc như một nhà khoa học dữ liệu cho ZS và có bằng kỹ sư từ IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trên các dự án phụ.
Xem tất cả các bài viết