Hướng dẫn dùng python median python
Vietnamese (Tiếng Việt) translation by Dai Phong (you can also view the original English article) Phân tích số liệu thống kê giúp chúng ta hiểu được toàn bộ thông tin. Điều này ứng dụng trong rất nhiều lĩnh vực như thống kê sinh vật học và phân tích kinh doanh. Thay vì duyệt qua các data point riêng lẻ, thì chỉ cần nhìn vào giá trị trung bình hoặc phương sai của bộ dữ liệu là có thể biết được xu hướng và các đặc trưng mà chúng ta có thể đã bỏ qua khi quan sát tất cả các dữ liệu ở định dạng thô. Nó cũng làm cho việc so sánh giữa hai bộ dữ liệu lớn trở nên dễ dàng và có ý nghĩa hơn. Nhận ra những nhu cầu này, Python đã cung cấp cho chúng ta module statistics. Trong hướng dẫn này, bạn sẽ học về các cách khác nhau để tính trung bình và đo lường độ chênh (spread) của một tập hợp dữ liệu nhất định. Trừ khi có những quy ước khác, tất cả các hàm trong mô-đun này hỗ trợ các tập dữ liệu đầu vào cơ bản Tính Trung bìnhBạn có thể sử dụng hàm import statistics from fractions import Fraction as F from decimal import Decimal as D statistics.mean([11, 2, 13, 14, 44]) # returns 16.8 statistics.mean([F(8, 10), F(11, 20), F(2, 5), F(28, 5)]) # returns Fraction(147, 80) statistics.mean([D("1.5"), D("5.75"), D("10.625"), D("2.375")]) # returns Decimal('5.0625') Bạn đã học được rất nhiều hàm để tạo ra các số ngẫu nhiên trong hướng dẫn trước của chúng tôi. Hãy sử dụng chúng ngay bây giờ để tạo ra dữ liệu của chúng ta và xem liệu trung bình cuối cùng có bằng với những gì chúng ta mong đợi hay không. import random import statistics data_points = [ random.randint(1, 100) for x in range(1,1001) ] statistics.mean(data_points) # returns 50.618 data_points = [ random.triangular(1, 100, 80) for x in range(1,1001) ] statistics.mean(data_points) # returns 59.93292281437689 Với hàm Tính ModeMean là một chỉ số xác định giá trị trung bình rất tốt, nhưng một vài giá trị phân cực có thể dẫn đến một
trung bình xa điểm giữa thật sự. Trong một số trường hợp, cần xác định data-point thường xuyên nhất trong một tập dữ liệu. Hàm import random import statistics data_points = [ random.randint(1, 100) for x in range(1,1001) ] statistics.mode(data_points) # returns 94 data_points = [ random.randint(1, 100) for x in range(1,1001) ] statistics.mode(data_points) # returns 49 data_points = [ random.randint(1, 100) for x in range(1,1001) ] statistics.mode(data_points) # returns 32 mode(["cat", "dog", "dog", "cat", "monkey", "monkey", "dog"]) # returns 'dog' Mode của các số nguyên được tạo ngẫu nhiên trong một phạm vi nhất định có thể là bất kỳ số nào vì tần suất xuất hiện của mỗi số không dự đoán được. Ba ví dụ trong đoạn code ở trên chứng minh điểm đó. Ví dụ cuối cùng trình bày cho chúng ta thấy cách chúng ta có thể tính được mode của dữ liệu không phải là số. Tính Trung vịDựa vào mode để tính toán một giá trị trung điểm có thể gây chút hiểu nhầm. Như chúng ta đã thấy trong phần trước, nó sẽ luôn là data point phổ biến nhất, bất kể tất cả các giá trị khác trong bộ dữ liệu. Một cách khác để xác định trung vị là sử dụng hàm Vấn đề với hàm import random import statistics data_points = [ random.randint(1, 100) for x in range(1,50) ] statistics.median(data_points) # returns 53 data_points = [ random.randint(1, 100) for x in range(1,51) ] statistics.median(data_points) # returns 51.0 data_points = [ random.randint(1, 100) for x in range(1,51) ] statistics.median(data_points) # returns 49.0 data_points = [ random.randint(1, 100) for x in range(1,51) ] statistics.median_low(data_points) # returns 50 statistics.median_high(data_points) # returns 52 statistics.median(data_points) # returns 51.0 Trong trường hợp cuối cùng, trung vị thấp và cao là 50 và 52. Điều này có nghĩa là không có data point có giá trị 51 trong tập dữ liệu của chúng ta, nhưng hàm Đo Độ lệch của Dữ liệuXác định có bao nhiêu data point lệch khỏi giá trị điển hình hoặc trung bình của bộ dữ liệu cũng quan trọng không kém tính giá trị trung tâm hoặc trung bình. Mô-đun statistics có bốn hàm khác nhau để giúp chúng ta tính toán độ lệch này của dữ liệu. Bạn có thể sử dụng hàm Đối số thứ hai trong trường hợp này là không bắt buộc. Giá trị của mu, khi được cung cấp, phải bằng với trung bình của dữ liệu nhất định. Trung bình được tính tự động nếu giá trị bị thiếu. Hàm này rất hữu ích khi bạn muốn tính phương sai của toàn bộ tập hợp. Nếu dữ liệu của bạn chỉ là một mẫu của tập hợp, bạn có thể sử dụng hàm Để tính toán độ rõ tiêu chuẩn của tập hợp và độ lệch tiêu chuẩn của mẫu dữ liệu, bạn có thể sử dụng các hàm import statistics from fractions import Fraction as F data = [1, 2, 3, 4, 5, 6, 7, 8, 9] statistics.pvariance(data) # returns 6.666666666666667 statistics.pstdev(data) # returns 2.581988897471611 statistics.variance(data) # returns 7.5 statistics.stdev(data) # returns 2.7386127875258306 more_data = [3, 4, 5, 5, 5, 5, 5, 6, 6] statistics.pvariance(more_data) # returns 0.7654320987654322 statistics.pstdev(more_data) # returns 0.8748897637790901 some_fractions = [F(5, 6), F(2, 3), F(11, 12)] statistics.variance(some_fractions) # returns Fraction(7, 432) Như minh chứng từ ví dụ trên, phương sai nhỏ hơn hàm ý rằng nhiều data point có giá trị gần hơn với giá trị trung bình. Bạn cũng có thể tính độ lệch chuẩn của các số thập phân và phân số. Phần Tóm tắtTrong hướng dẫn cuối cùng của loạt bài này, chúng ta đã tìm hiểu về các hàm khác nhau có sẵn trong mô-đun statistics. Bạn có thể đã quan sát thấy rằng dữ liệu đưa ra cho các hàm đã được sắp xếp trong hầu hết các trường hợp, nhưng không bắt buộc phải làm như vậy. Tôi đã sử dụng các danh sách được sắp xếp trong hướng dẫn này vì chúng giúp dễ dàng hơn để hiểu cách giá trị trả về bởi các hàm khác nhau có liên quan đến dữ liệu đầu vào. |