Trong kỷ nguyên dữ liệu lớn và trí tuệ nhân tạo, khoa học dữ liệu và học máy đã trở nên thiết yếu trong nhiều lĩnh vực khoa học và công nghệ. Một khía cạnh cần thiết khi làm việc với dữ liệu là khả năng mô tả, tóm tắt và biểu diễn dữ liệu một cách trực quan. Các thư viện thống kê của Python là những công cụ toàn diện, phổ biến và được sử dụng rộng rãi sẽ hỗ trợ bạn làm việc với dữ liệu Trong hướng dẫn này, bạn sẽ học - Số lượng bằng số nào bạn có thể sử dụng để mô tả và tóm tắt bộ dữ liệu của mình
- Cách tính số liệu thống kê mô tả bằng Python thuần túy
- Cách lấy số liệu thống kê mô tả với các thư viện Python có sẵn
- Cách trực quan hóa bộ dữ liệu của bạn
Tiền thưởng miễn phí. Nhấp vào đây để tải xuống 5 ví dụ về Python + Matplotlib với mã nguồn đầy đủ mà bạn có thể sử dụng làm cơ sở để tạo các biểu đồ và đồ họa của riêng mình Hiểu thống kê mô tảThống kê mô tả là về mô tả và tóm tắt dữ liệu. Nó sử dụng hai cách tiếp cận chính - Phương pháp định lượng mô tả và tóm tắt dữ liệu bằng số
- Cách tiếp cận trực quan minh họa dữ liệu bằng biểu đồ, sơ đồ, biểu đồ và các biểu đồ khác
Bạn có thể áp dụng thống kê mô tả cho một hoặc nhiều bộ dữ liệu hoặc biến. Khi bạn mô tả và tóm tắt một biến số, bạn đang thực hiện phân tích đơn biến. Khi bạn tìm kiếm các mối quan hệ thống kê giữa một cặp biến, bạn đang thực hiện phân tích hai biến. Tương tự, một phân tích đa biến có liên quan đến nhiều biến cùng một lúc Loại bỏ các quảng cáoCác loại biện phápTrong hướng dẫn này, bạn sẽ tìm hiểu về các loại thước đo sau trong thống kê mô tả - Xu hướng trung tâm cho bạn biết về các trung tâm của dữ liệu. Các biện pháp hữu ích bao gồm giá trị trung bình, trung bình và chế độ
- Tính khả biến cho bạn biết về sự lan truyền của dữ liệu. Các biện pháp hữu ích bao gồm phương sai và độ lệch chuẩn
- Mối tương quan hoặc độ biến thiên chung cho bạn biết về mối quan hệ giữa một cặp biến trong tập dữ liệu. Các biện pháp hữu ích bao gồm hiệp phương sai và hệ số tương quan
Bạn sẽ học cách hiểu và tính toán các biện pháp này bằng Python Dân số và mẫuTrong thống kê, dân số là tập hợp tất cả các phần tử hoặc mục mà bạn quan tâm. Dân số thường rất lớn, khiến chúng không phù hợp để thu thập và phân tích dữ liệu. Đó là lý do tại sao các nhà thống kê thường cố gắng đưa ra một số kết luận về dân số bằng cách chọn và kiểm tra một tập hợp con đại diện của dân số đó Tập hợp con này của dân số được gọi là một mẫu. Lý tưởng nhất là mẫu nên bảo tồn các đặc điểm thống kê thiết yếu của dân số ở mức độ thỏa đáng. Bằng cách đó, bạn sẽ có thể sử dụng mẫu để thu thập kết luận về dân số ngoại lệĐiểm ngoại lệ là một điểm dữ liệu khác biệt đáng kể so với phần lớn dữ liệu được lấy từ một mẫu hoặc tổng thể. Có nhiều nguyên nhân có thể dẫn đến ngoại lệ, nhưng sau đây là một số nguyên nhân giúp bạn bắt đầu - Sự thay đổi tự nhiên trong dữ liệu
- Thay đổi hành vi của hệ thống được quan sát
- Sai sót trong thu thập dữ liệu
Lỗi thu thập dữ liệu là một nguyên nhân đặc biệt nổi bật của các ngoại lệ. Ví dụ: các hạn chế của các công cụ hoặc quy trình đo lường có thể có nghĩa là không thể thu được dữ liệu chính xác. Các lỗi khác có thể do tính toán sai, nhiễm dữ liệu, lỗi của con người, v.v. Không có định nghĩa toán học chính xác về ngoại lệ. Bạn phải dựa vào kinh nghiệm, kiến thức về chủ đề quan tâm và ý thức chung để xác định xem một điểm dữ liệu có phải là điểm bất thường hay không và cách xử lý điểm đó Chọn thư viện thống kê PythonCó rất nhiều thư viện thống kê Python để bạn làm việc, nhưng trong hướng dẫn này, bạn sẽ tìm hiểu về một số thư viện phổ biến và được sử dụng rộng rãi nhất >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
12 của Python là một thư viện Python tích hợp cho các số liệu thống kê mô tả. Bạn có thể sử dụng nó nếu bộ dữ liệu của bạn không quá lớn hoặc nếu bạn không thể dựa vào việc nhập các thư viện khácNumPy là thư viện của bên thứ ba dành cho tính toán số, được tối ưu hóa để làm việc với các mảng đơn và đa chiều. Kiểu chính của nó là kiểu mảng có tên là >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
13. Thư viện này chứa nhiều thói quen để phân tích thống kêSciPy là thư viện của bên thứ ba dành cho máy tính khoa học dựa trên NumPy. Nó cung cấp chức năng bổ sung so với NumPy, bao gồm >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
14 để phân tích thống kêPandas là thư viện của bên thứ ba để tính toán số dựa trên NumPy. Nó vượt trội trong việc xử lý dữ liệu một chiều (1D) được gắn nhãn với _______ 15 đối tượng và dữ liệu 2 chiều (2D) với _______ 16 đối tượng Matplotlib là thư viện của bên thứ ba để trực quan hóa dữ liệu. Nó hoạt động tốt khi kết hợp với NumPy, SciPy và Pandas
Lưu ý rằng, trong nhiều trường hợp, các đối tượng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 có thể được sử dụng thay cho mảng NumPy. Thông thường, bạn có thể chuyển chúng đến hàm thống kê NumPy hoặc SciPy. In addition, you can get the unlabeled data from a >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 or >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 as a >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
21 object by calling >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
22 or >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
23Getting Started With Python Statistics LibrariesThe built-in Python >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
12 library has a relatively small number of the most important statistics functions. The official documentation is a valuable resource to find the details. If you’re limited to pure Python, then the Python >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
12 library might be the right choiceA good place to start learning about NumPy is the official User Guide, especially the quickstart and basics sections. The official reference can help you refresh your memory on specific NumPy concepts. While you read this tutorial, you might want to check out the statistics section and the official >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
14 reference as wellGhi chú To learn more about NumPy, check out these resources - Look Ma, No For-Loops. Array Programming With NumPy
- Pythonic Data Cleaning With Pandas and NumPy
- NumPy arange(). How to Use np. arange()
If you want to learn Pandas, then the official Getting Started page is an excellent place to begin. The introduction to data structures can help you learn about the fundamental data types, >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 and >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16. Likewise, the excellent official introductory tutorial aims to give you enough information to start effectively using Pandas in practiceGhi chú To learn more about Pandas, check out these resources - Using Pandas and Python to Explore Your Dataset
- Pandas DataFrames 101
- Idiomatic Pandas. Tricks & Features You May Not Know
- Fast, Flexible, Easy and Intuitive. How to Speed Up Your Pandas Projects
>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
29 has a comprehensive official User’s Guide that you can use to dive into the details of using the library. Anatomy of Matplotlib is an excellent resource for beginners who want to start working with >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
29 and its related librariesGhi chú Để tìm hiểu thêm về trực quan hóa dữ liệu, hãy xem các tài nguyên này - Python Plotting With Matplotlib (Guide)
- Vẽ biểu đồ Python. NumPy, Matplotlib, Pandas và Seaborn
- Trực quan hóa dữ liệu tương tác trong Python với Bokeh
- Âm mưu với gấu trúc. Trực quan hóa dữ liệu Python cho người mới bắt đầu
Hãy bắt đầu sử dụng các thư viện thống kê Python này Loại bỏ các quảng cáoTính toán thống kê mô tảBắt đầu bằng cách nhập tất cả các gói bạn cần >>> >>> import math
>>> import statistics
>>> import numpy as np
>>> import scipy.stats
>>> import pandas as pd
Đây là tất cả các gói bạn cần để tính toán thống kê Python. Thông thường, bạn sẽ không sử dụng gói >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
31 tích hợp sẵn của Python, nhưng nó sẽ hữu ích trong hướng dẫn này. Sau đó, bạn sẽ nhập >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
32 để trực quan hóa dữ liệuHãy tạo một số dữ liệu để làm việc với. Bạn sẽ bắt đầu với các danh sách Python chứa một số dữ liệu số tùy ý >>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
Bây giờ bạn có các danh sách >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
34. Chúng gần như giống nhau, với sự khác biệt là >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
34 chứa giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36. Điều quan trọng là phải hiểu hành vi của các quy trình thống kê Python khi chúng bắt gặp một giá trị không phải là số (>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36). Trong khoa học dữ liệu, các giá trị bị thiếu là phổ biến và bạn sẽ thường thay thế chúng bằng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36Ghi chú. Làm cách nào để bạn nhận được giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36?Trong Python, bạn có thể sử dụng bất kỳ cách nào sau đây Bạn có thể sử dụng tất cả các chức năng này thay thế cho nhau >>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
Bạn có thể thấy rằng các chức năng đều tương đương nhau. Tuy nhiên, xin lưu ý rằng so sánh hai giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 cho đẳng thức trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
44. Nói cách khác, >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
45 là >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
44Bây giờ, hãy tạo các đối tượng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
21 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
48 tương ứng với >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
34>>> >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
Bây giờ bạn có hai mảng NumPy (_______0_______51 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
52) và hai Pandas >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 (>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
54 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
55). Tất cả đều là các chuỗi giá trị 1DGhi chú. Mặc dù bạn sẽ sử dụng các danh sách trong suốt hướng dẫn này, nhưng xin lưu ý rằng, trong hầu hết các trường hợp, bạn có thể sử dụng các bộ dữ liệu theo cùng một cách Bạn có thể tùy chọn chỉ định nhãn cho từng giá trị trong >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
54 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
55Biện pháp của xu hướng trung ươngCác biện pháp của xu hướng trung tâm hiển thị các giá trị trung tâm hoặc giữa của bộ dữ liệu. Có một số định nghĩa về những gì được coi là trung tâm của tập dữ liệu. Trong hướng dẫn này, bạn sẽ học cách xác định và tính toán các thước đo xu hướng trung tâm này - Nghĩa là
- trung bình có trọng số
- trung bình hình học
- điều hòa trung bình
- Trung bình
- Chế độ
Nghĩa làGiá trị trung bình mẫu, còn được gọi là giá trị trung bình số học mẫu hoặc đơn giản là giá trị trung bình, là giá trị trung bình cộng của tất cả các mục trong tập dữ liệu. Giá trị trung bình của tập dữ liệu 𝑥 được biểu thị bằng toán học là Σᵢ𝑥ᵢ/𝑛, trong đó 𝑖 = 1, 2, …, 𝑛. Nói cách khác, nó là tổng của tất cả các phần tử 𝑥ᵢ chia cho số phần tử trong tập dữ liệu 𝑥 Hình này minh họa giá trị trung bình của một mẫu có năm điểm dữ liệu Các chấm màu xanh lá cây đại diện cho các điểm dữ liệu 1, 2. 5, 4, 8 và 28. Đường đứt nét màu đỏ là giá trị trung bình của chúng, hoặc (1 + 2. 5 + 4 + 8 + 28) / 5 = 8. 7 Bạn có thể tính giá trị trung bình bằng Python thuần bằng cách sử dụng và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
59 mà không cần nhập thư viện>>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
Mặc dù điều này rõ ràng và thanh lịch, nhưng bạn cũng có thể áp dụng các hàm thống kê Python tích hợp >>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
Bạn đã gọi các hàm và từ thư viện Python >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
12 tích hợp và nhận được kết quả tương tự như bạn đã làm với Python thuần túy. >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
61 được giới thiệu trong Python 3. 8 như một giải pháp thay thế nhanh hơn cho >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
60. Nó luôn trả về một số dấu phẩy độngTuy nhiên, nếu có các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 trong dữ liệu của bạn, thì >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
66 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
67 sẽ trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 làm đầu ra>>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
Kết quả này phù hợp với hành vi của >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
58, bởi vì >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
70 cũng trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36Nếu bạn sử dụng NumPy, thì bạn có thể lấy giá trị trung bình bằng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
72>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
Trong ví dụ trên, >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
60 là một hàm, nhưng bạn cũng có thể sử dụng phương thức tương ứng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
74>>> >>> mean_ = y.mean()
>>> mean_
8.7
Hàm >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
60 và phương thức >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
74 từ NumPy trả về kết quả tương tự như >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
66. Đây cũng là trường hợp khi có >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 giá trị trong dữ liệu của bạn>>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
Kết quả là bạn thường không cần nhận giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36. Nếu bạn muốn bỏ qua các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36, thì bạn có thể sử dụng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
81>>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
0>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
82 chỉ cần bỏ qua tất cả các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36. Nó trả về giá trị giống như >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
60 nếu bạn áp dụng nó cho tập dữ liệu mà không có giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36Các đối tượng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
48 cũng có phương thức >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
74>>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
1Như bạn có thể thấy, nó được sử dụng tương tự như trong trường hợp của NumPy. Tuy nhiên, >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
74 từ Pandas bỏ qua giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 theo mặc định>>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
2Hành vi này là kết quả của giá trị mặc định của tham số tùy chọn >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
90. Bạn có thể thay đổi tham số này để sửa đổi hành vitrung bình có trọng sốGiá trị trung bình có trọng số, còn được gọi là giá trị trung bình số học có trọng số hoặc trung bình có trọng số, là tổng quát hóa của giá trị trung bình số học cho phép bạn xác định mức độ đóng góp tương đối của từng điểm dữ liệu vào kết quả Bạn xác định một trọng số 𝑤ᵢ cho mỗi điểm dữ liệu 𝑥ᵢ của tập dữ liệu 𝑥, trong đó 𝑖 = 1, 2, …, 𝑛 và 𝑛 là số mục trong 𝑥. Sau đó, bạn nhân từng điểm dữ liệu với trọng số tương ứng, tính tổng tất cả các tích và chia tổng thu được cho tổng trọng số. Σᵢ(𝑤ᵢ𝑥ᵢ) / Σᵢ𝑤ᵢ Ghi chú. Thuận tiện (và thường là như vậy) khi tất cả các trọng số đều không âm, 𝑤ᵢ ≥ 0 và tổng của chúng bằng một hoặc Σᵢ𝑤ᵢ = 1 Giá trị trung bình có trọng số rất tiện dụng khi bạn cần giá trị trung bình của tập dữ liệu chứa các mục xuất hiện với tần suất tương đối nhất định. Ví dụ: giả sử bạn có một tập hợp trong đó 20% tổng số mục là 2, 50% mục là 4 và 30% mục còn lại là 8. Bạn có thể tính giá trị trung bình của một tập hợp như thế này >>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
3Ở đây, bạn tính đến tần số với trọng số. Với phương pháp này, bạn không cần biết tổng số mặt hàng Bạn có thể triển khai giá trị trung bình có trọng số bằng Python thuần túy bằng cách kết hợp >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
58 với >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
92 hoặc >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
93>>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
4Một lần nữa, đây là một triển khai sạch sẽ và thanh lịch, nơi bạn không cần nhập bất kỳ thư viện nào Tuy nhiên, nếu bạn có bộ dữ liệu lớn, thì NumPy có thể cung cấp giải pháp tốt hơn. Bạn có thể sử dụng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
94 để lấy giá trị trung bình có trọng số của mảng NumPy hoặc Pandas >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15>>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
5Kết quả giống như trong trường hợp triển khai Python thuần túy. Bạn cũng có thể sử dụng phương pháp này trên các danh sách và bộ thông thường Một giải pháp khác là sử dụng sản phẩm thông minh về phần tử >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
96 với >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
97 hoặc >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
98>>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
6Đó là nó. Bạn đã tính giá trị trung bình có trọng số Tuy nhiên, hãy cẩn thận nếu tập dữ liệu của bạn chứa các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36>>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
7Trong trường hợp này, >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
00 trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36, phù hợp với >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
72trung bình điều hòaGiá trị trung bình điều hòa là nghịch đảo của giá trị trung bình của các nghịch đảo của tất cả các mục trong tập dữ liệu. 𝑛 / Σᵢ(1/𝑥ᵢ), trong đó 𝑖 = 1, 2, …, 𝑛 và 𝑛 là số phần tử trong tập dữ liệu 𝑥. Một biến thể của việc triển khai Python thuần túy của ý nghĩa điều hòa là đây >>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
8Nó hoàn toàn khác với giá trị của trung bình cộng cho cùng một dữ liệu >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33, mà bạn đã tính là 8. 7Bạn cũng có thể tính toán biện pháp này với >>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
9Ví dụ trên cho thấy một triển khai của >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
04. Nếu bạn có giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 trong tập dữ liệu, thì nó sẽ trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36. Nếu có ít nhất một >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
08, thì nó sẽ trả về >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
08. Nếu bạn cung cấp ít nhất một số âm thì bạn sẽ nhận được>>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
0Hãy ghi nhớ ba tình huống này khi bạn đang sử dụng phương pháp này Cách thứ ba để tính trung bình điều hòa là sử dụng >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
11>>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
1Một lần nữa, đây là một thực hiện khá đơn giản. Tuy nhiên, nếu tập dữ liệu của bạn chứa >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36, >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
08, số âm hoặc bất kỳ thứ gì ngoại trừ số dương, thì bạn sẽ nhận đượctrung bình hình họcGiá trị trung bình hình học là căn bậc 𝑛 của tích tất cả 𝑛 phần tử 𝑥ᵢ trong tập dữ liệu 𝑥. ⁿ√(Πᵢ𝑥ᵢ), trong đó 𝑖 = 1, 2, …, 𝑛. Hình dưới đây minh họa các phương tiện số học, điều hòa và hình học của một tập dữ liệu Một lần nữa, các chấm màu xanh lá cây đại diện cho các điểm dữ liệu 1, 2. 5, 4, 8 và 28. Đường đứt nét màu đỏ là giá trị trung bình. Đường đứt nét màu xanh lam là giá trị trung bình điều hòa và đường đứt nét màu vàng là giá trị trung bình hình học Bạn có thể triển khai ý nghĩa hình học bằng Python thuần túy như thế này >>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
2Như bạn có thể thấy, giá trị của trung bình hình học, trong trường hợp này, khác biệt đáng kể so với các giá trị của số học (8. 7) và điều hòa (2. 76) có nghĩa là cho cùng một bộ dữ liệu >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33Trăn 3. 8 đã giới thiệu, chuyển đổi tất cả các giá trị thành số dấu phẩy động và trả về giá trị trung bình hình học của chúng >>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
3Bạn đã có kết quả giống như trong ví dụ trước, nhưng với lỗi làm tròn tối thiểu Nếu bạn truyền dữ liệu với các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36, thì >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
16 sẽ hoạt động giống như hầu hết các hàm tương tự và trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36>>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
4Thật vậy, điều này phù hợp với hành vi của >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
66, >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
67 và >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
04. Nếu có số 0 hoặc số âm trong dữ liệu của bạn, thì >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
16 sẽ tăng >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
10Bạn cũng có thể lấy giá trị trung bình hình học với >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
25>>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
5Bạn đã thu được kết quả tương tự như khi triển khai Python thuần túy Nếu bạn có các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 trong tập dữ liệu, thì >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
27 sẽ trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36. Nếu có ít nhất một >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
08, thì nó sẽ trả về >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
30 và đưa ra cảnh báo. Nếu bạn cung cấp ít nhất một số âm, thì bạn sẽ nhận được >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 và cảnh báoTrung bìnhTrung vị mẫu là phần tử ở giữa của tập dữ liệu được sắp xếp. Tập dữ liệu có thể được sắp xếp theo thứ tự tăng hoặc giảm. Nếu số phần tử 𝑛 của tập dữ liệu là số lẻ thì trung vị là giá trị ở vị trí chính giữa. 0. 5(𝑛 + 1). Nếu 𝑛 chẵn thì trung vị là trung bình cộng của hai giá trị ở giữa, tức là các phần tử ở vị trí 0. 5𝑛 và 0. 5𝑛 + 1 Ví dụ: nếu bạn có các điểm dữ liệu 2, 4, 1, 8 và 9 thì giá trị trung bình là 4, nằm ở giữa tập dữ liệu đã sắp xếp (1, 2, 4, 8, 9). Nếu các điểm dữ liệu là 2, 4, 1 và 8 thì trung vị là 3, là trung bình cộng của hai phần tử ở giữa của dãy đã sắp xếp (2 và 4). Hình dưới đây minh họa điều này Các điểm dữ liệu là các chấm màu xanh lá cây và các đường màu tím hiển thị giá trị trung bình cho từng tập dữ liệu. Giá trị trung bình cho tập dữ liệu trên (1, 2. 5, 4, 8 và 28) là 4. Nếu bạn loại bỏ giá trị ngoại lệ 28 khỏi tập dữ liệu thấp hơn, thì trung vị sẽ trở thành trung bình cộng giữa 2. 5 và 4, đó là 3. 25 Hình dưới đây cho thấy cả giá trị trung bình và trung vị của các điểm dữ liệu 1, 2. 5, 4, 8 và 28 Một lần nữa, giá trị trung bình là đường đứt nét màu đỏ, trong khi trung vị là đường màu tím Sự khác biệt chính giữa hành vi của giá trị trung bình và trung bình có liên quan đến các giá trị ngoại lệ hoặc cực trị của tập dữ liệu. Giá trị trung bình bị ảnh hưởng nặng nề bởi các giá trị ngoại lệ, nhưng giá trị trung bình chỉ phụ thuộc vào các giá trị ngoại lệ một chút hoặc hoàn toàn không. Xét hình sau Tập dữ liệu trên lại có các mục 1, 2. 5, 4, 8 và 28. Ý nghĩa của nó là 8. 7, và trung bình là 5, như bạn đã thấy trước đó. Tập dữ liệu bên dưới hiển thị điều gì đang xảy ra khi bạn di chuyển điểm ngoài cùng bên phải với giá trị 28 - Nếu bạn tăng giá trị của nó (di chuyển nó sang phải), thì giá trị trung bình sẽ tăng, nhưng giá trị trung vị sẽ không bao giờ thay đổi
- Nếu bạn giảm giá trị của nó (di chuyển nó sang trái), thì giá trị trung bình sẽ giảm, nhưng trung vị sẽ giữ nguyên cho đến khi giá trị của điểm di chuyển lớn hơn hoặc bằng 4
Bạn có thể so sánh giá trị trung bình và trung vị như một cách để phát hiện các giá trị ngoại lệ và bất đối xứng trong dữ liệu của mình. Giá trị trung bình hay giá trị trung bình hữu ích hơn cho bạn tùy thuộc vào ngữ cảnh của vấn đề cụ thể của bạn Đây là một trong nhiều triển khai Python thuần túy có thể có của trung vị >>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
6Hai bước quan trọng nhất của việc thực hiện này như sau - Sắp xếp các phần tử của tập dữ liệu
- Tìm (các) phần tử ở giữa trong tập dữ liệu đã sắp xếp
Bạn có thể lấy trung bình với >>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
7Phiên bản được sắp xếp của >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 là >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
34, vì vậy phần tử ở giữa là >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
35. Phiên bản đã sắp xếp của >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
36, là >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 không có mục cuối cùng >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
38, là >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
39. Bây giờ, có hai phần tử ở giữa, >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
40 và >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
35. Trung bình của họ là >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
42và là hai hàm nữa liên quan đến trung vị trong thư viện Python >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
12. Chúng luôn trả về một phần tử từ tập dữ liệu- Nếu số phần tử là số lẻ, thì sẽ có một giá trị ở giữa, vì vậy các hàm này hoạt động giống như
>>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
46 - Nếu số phần tử là số chẵn thì có hai giá trị ở giữa. Trong trường hợp này,
>>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
43 trả về giá trị thấp hơn và >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
44 trả về giá trị trung bình cao hơn
Bạn có thể sử dụng các chức năng này giống như cách bạn sử dụng >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
46>>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
8Một lần nữa, phiên bản được sắp xếp của >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
36 là >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
39. Hai yếu tố ở giữa là >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
40 (thấp) và >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
35 (cao)Không giống như hầu hết các hàm khác từ thư viện Python >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
12, >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
46, >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
43 và >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
44 không trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 khi có các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 trong số các điểm dữ liệu>>> >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
9Hãy coi chừng hành vi này vì nó có thể không phải là điều bạn muốn Bạn cũng có thể lấy số trung bình với >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
60>>> ______39_______0 Bạn đã nhận được các giá trị giống nhau với >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
32 và >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
60Tuy nhiên, nếu có một giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 trong tập dữ liệu của bạn, thì >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
60 đưa ra và trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36. Nếu hành vi này không phải là điều bạn muốn, thì bạn có thể sử dụng >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
67 để bỏ qua tất cả các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36>>> >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
1Kết quả thu được giống như với >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
32 và >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
60 được áp dụng cho bộ dữ liệu >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51Các đối tượng của Pandas >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 có phương thức >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
74 bỏ qua các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 theo mặc định>>> >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
2Hành vi của >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
74 phù hợp với >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
74 trong Pandas. Bạn có thể thay đổi hành vi này bằng tham số tùy chọn >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
90Chế độChế độ mẫu là giá trị trong tập dữ liệu xảy ra thường xuyên nhất. Nếu không có một giá trị nào như vậy, thì tập hợp đó là đa phương thức vì nó có nhiều giá trị phương thức. Ví dụ: trong tập hợp có các điểm 2, 3, 2, 8 và 12, số 2 là chế độ vì nó xảy ra hai lần, không giống như các mục khác chỉ xảy ra một lần Đây là cách bạn có thể lấy chế độ bằng Python thuần túy >>> >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
3Bạn sử dụng >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
79 để lấy số lần xuất hiện của từng mục trong >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
80. Mục có số lần xuất hiện tối đa là chế độ. Lưu ý rằng bạn không phải sử dụng >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
81. Thay vào đó, bạn có thể thay thế nó bằng chỉ >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
80 và lặp lại toàn bộ danh sáchGhi chú. >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
81 trả về một bộ Python với tất cả các mục duy nhất trong >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
80. Bạn có thể sử dụng thủ thuật này để tối ưu hóa làm việc với dữ liệu lớn hơn, đặc biệt khi bạn muốn thấy nhiều bản saoBạn có thể có được chế độ với và >>> >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
4Như bạn có thể thấy, >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
87 trả về một giá trị duy nhất, trong khi >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
88 trả về danh sách chứa kết quả. Tuy nhiên, đây không phải là sự khác biệt duy nhất giữa hai chức năng. Nếu có nhiều hơn một giá trị phương thức, thì >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
87 tăng >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
90, trong khi >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
88 trả về danh sách với tất cả các phương thức>>> >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
5Bạn nên đặc biệt chú ý đến tình huống này và cẩn thận khi lựa chọn giữa hai chức năng này >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
85 và >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
86 xử lý giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 dưới dạng giá trị thông thường và có thể trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 làm giá trị phương thức>>> >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
6Trong ví dụ đầu tiên ở trên, số >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
96 xuất hiện hai lần và là giá trị phương thức. Trong ví dụ thứ hai, >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 là giá trị phương thức vì nó xảy ra hai lần, trong khi các giá trị khác chỉ xảy ra một lầnGhi chú. >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
86 được giới thiệu trong Python 3. 8Bạn cũng có thể nhận chế độ với >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
99>>> >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
7Hàm này trả về đối tượng với giá trị phương thức và số lần nó xảy ra. Nếu có nhiều giá trị phương thức trong tập dữ liệu, thì chỉ giá trị nhỏ nhất được trả về Bạn có thể lấy chế độ và số lần xuất hiện của nó dưới dạng mảng NumPy với ký hiệu dấu chấm >>> >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
8Mã này sử dụng >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
00 để trả về chế độ nhỏ nhất (>>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
01) trong mảng >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
02 và >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
03 để trả về số lần nó xảy ra (>>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
04). >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
99 cũng linh hoạt với các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36. Nó cho phép bạn xác định hành vi mong muốn với tham số tùy chọn >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
07. Tham số này có thể nhận các giá trị >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
08, >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
09 (lỗi) hoặc >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
10Các đối tượng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 của gấu trúc có phương thức xử lý tốt các giá trị đa phương thức và bỏ qua các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 theo mặc định>>> >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
9Như bạn có thể thấy, >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
12 trả về một >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
48 mới chứa tất cả các giá trị phương thức. Nếu bạn muốn >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
12 tính đến các giá trị của >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36, thì chỉ cần chuyển đối số tùy chọn >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
18Loại bỏ các quảng cáoCác biện pháp thay đổiCác biện pháp của xu hướng trung tâm không đủ để mô tả dữ liệu. Bạn cũng sẽ cần các biện pháp thay đổi để định lượng mức độ lan truyền của các điểm dữ liệu. Trong phần này, bạn sẽ học cách xác định và tính toán các thước đo độ biến thiên sau - phương sai
- Độ lệch chuẩn
- độ lệch
- phần trăm
- Các dãy
phương saiPhương sai mẫu định lượng mức độ lan truyền của dữ liệu. Nó hiển thị bằng số các điểm dữ liệu cách giá trị trung bình bao xa. Bạn có thể biểu thị phương sai mẫu của tập dữ liệu 𝑥 với 𝑛 phần tử dưới dạng toán học là 𝑠² = Σᵢ(𝑥ᵢ − mean(𝑥))² / (𝑛 − 1), trong đó 𝑖 = 1, 2, …, 𝑛 và mean(𝑥) là . Nếu bạn muốn hiểu sâu hơn tại sao bạn chia tổng cho 𝑛 − 1 thay vì 𝑛, thì bạn có thể tìm hiểu sâu hơn về hiệu chỉnh của Bessel Hình dưới đây cho bạn thấy lý do tại sao điều quan trọng là phải xem xét phương sai khi mô tả bộ dữ liệu Có hai bộ dữ liệu trong hình này - chấm xanh. Tập dữ liệu này có phương sai nhỏ hơn hoặc chênh lệch trung bình nhỏ hơn so với giá trị trung bình. Nó cũng có phạm vi nhỏ hơn hoặc chênh lệch nhỏ hơn giữa mục lớn nhất và mục nhỏ nhất
- chấm trắng. Tập dữ liệu này có phương sai lớn hơn hoặc chênh lệch trung bình lớn hơn so với giá trị trung bình. Nó cũng có phạm vi lớn hơn hoặc sự khác biệt lớn hơn giữa mục lớn nhất và mục nhỏ nhất
Lưu ý rằng hai bộ dữ liệu này có cùng giá trị trung bình và trung bình, mặc dù chúng có vẻ khác nhau đáng kể. Cả giá trị trung bình và trung vị đều không thể mô tả sự khác biệt này. Đó là lý do tại sao bạn cần các biện pháp thay đổi Đây là cách bạn có thể tính phương sai mẫu bằng Python thuần túy >>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
0Cách tiếp cận này là đủ và tính toán phương sai mẫu tốt. Tuy nhiên, giải pháp ngắn gọn và thanh lịch hơn là gọi hàm hiện có >>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
1Bạn đã thu được kết quả tương tự cho phương sai như trên. >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
20 có thể tránh tính giá trị trung bình nếu bạn cung cấp giá trị trung bình một cách rõ ràng làm đối số thứ hai. >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
21Nếu bạn có các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 trong dữ liệu của mình, thì >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
19 sẽ trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36>>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
2Hành vi này phù hợp với >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
60 và hầu hết các chức năng khác từ thư viện Python >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
12Bạn cũng có thể tính phương sai mẫu với NumPy. Bạn nên sử dụng hàm >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
27 hoặc phương thức tương ứng >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
28>>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
3Điều rất quan trọng là chỉ định tham số >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
29. Đó là cách bạn đặt bậc tự do delta thành >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
30. Tham số này cho phép tính đúng 𝑠², với (𝑛 − 1) ở mẫu số thay vì 𝑛Nếu bạn có các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 trong tập dữ liệu, thì >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
27 và >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
28 sẽ trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36>>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
4Điều này nhất quán với >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
72 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
94. Nếu bạn muốn bỏ qua giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36, thì bạn nên sử dụng >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
38>>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
5>>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
38 bỏ qua các giá trị của >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36. Nó cũng cần bạn chỉ định >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
29Các đối tượng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
48 có phương thức >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
28 bỏ qua các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 theo mặc định>>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
6Nó cũng có tham số >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
45, nhưng giá trị mặc định của nó là >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
30, vì vậy bạn có thể bỏ qua nó. Nếu bạn muốn một hành vi khác liên quan đến các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36, thì hãy sử dụng tham số tùy chọn >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
90Bạn tính phương sai dân số tương tự như phương sai mẫu. Tuy nhiên, bạn phải sử dụng 𝑛 ở mẫu số thay vì 𝑛 − 1. Σᵢ(𝑥ᵢ − nghĩa là(𝑥))² / 𝑛. Trong trường hợp này, 𝑛 là số phần tử trong toàn bộ tổng thể. Bạn có thể nhận được phương sai dân số tương tự như phương sai mẫu, với những khác biệt sau - Thay thế
>>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
49 bằng >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
50 trong triển khai Python thuần túy - Sử dụng thay vì
>>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
19 - Chỉ định tham số
>>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
53 nếu bạn sử dụng NumPy hoặc Pandas. Trong NumPy, bạn có thể bỏ qua >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
45 vì giá trị mặc định của nó là >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
08
Lưu ý rằng bạn phải luôn biết liệu bạn đang làm việc với một mẫu hay toàn bộ dân số bất cứ khi nào bạn tính toán phương sai Độ lệch chuẩnĐộ lệch chuẩn của mẫu là một thước đo khác của sự lan truyền dữ liệu. Nó được kết nối với phương sai mẫu, vì độ lệch chuẩn, 𝑠, là căn bậc hai dương của phương sai mẫu. Độ lệch chuẩn thường thuận tiện hơn phương sai vì nó có cùng đơn vị với các điểm dữ liệu. Khi bạn nhận được phương sai, bạn có thể tính độ lệch chuẩn bằng Python thuần túy >>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
7Mặc dù giải pháp này hoạt động, bạn cũng có thể sử dụng >>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
8Tất nhiên, kết quả vẫn giống như trước đây. Giống như >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
20, >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
58 không tính giá trị trung bình nếu bạn cung cấp nó một cách rõ ràng làm đối số thứ hai. >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
59Bạn có thể nhận được độ lệch chuẩn với NumPy theo cùng một cách. Bạn có thể sử dụng hàm >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
60 và phương pháp tương ứng >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
61 để tính độ lệch chuẩn. Nếu có các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 trong tập dữ liệu, thì chúng sẽ trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36. Để bỏ qua các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36, bạn nên sử dụng >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
65. Bạn sử dụng >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
60, >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
61 và >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
68 từ NumPy như bạn sẽ sử dụng >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
69, >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
28 và >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
71>>> >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
9Đừng quên thiết lập bậc tự do của delta là >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
30Các đối tượng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
48 cũng có phương thức >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
61 bỏ qua >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 theo mặc định>>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
0Tham số >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
45 mặc định là >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
30 nên bạn có thể bỏ qua. Một lần nữa, nếu bạn muốn xử lý các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 theo cách khác, thì hãy áp dụng tham số >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
90Độ lệch chuẩn dân số đề cập đến toàn bộ dân số. Đó là căn bậc hai dương của phương sai dân số. Bạn có thể tính toán nó giống như độ lệch chuẩn mẫu, với sự khác biệt sau - Tìm căn bậc hai của phương sai dân số trong triển khai Python thuần túy
- Sử dụng thay vì
>>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
56 - Chỉ định tham số
>>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
53 nếu bạn sử dụng NumPy hoặc Pandas. Trong NumPy, bạn có thể bỏ qua >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
45 vì giá trị mặc định của nó là >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
08
Như bạn có thể thấy, bạn có thể xác định độ lệch chuẩn trong Python, NumPy và Pandas gần giống như cách bạn xác định phương sai. Bạn sử dụng các hàm và phương thức khác nhau nhưng tương tự nhau với cùng các đối số độ lệchĐộ lệch của mẫu đo lường sự bất đối xứng của mẫu dữ liệu Có một số định nghĩa toán học về độ lệch. Một biểu thức phổ biến để tính độ lệch của tập dữ liệu 𝑥 với 𝑛 phần tử là (𝑛² / ((𝑛 − 1)(𝑛 − 2))) (Σᵢ(𝑥ᵢ − mean(𝑥))³ / (𝑛𝑠³)). Một biểu thức đơn giản hơn là Σᵢ(𝑥ᵢ − mean(𝑥))³ 𝑛 / ((𝑛 − 1)(𝑛 − 2)𝑠³), trong đó 𝑖 = 1, 2, …, 𝑛 và mean(𝑥) là trung bình mẫu của . Độ lệch được xác định như thế này được gọi là hệ số mômen tiêu chuẩn Fisher-Pearson đã điều chỉnh Hình trước cho thấy hai bộ dữ liệu khá đối xứng. Nói cách khác, điểm của họ có khoảng cách tương tự từ giá trị trung bình. Ngược lại, hình ảnh sau đây minh họa hai bộ bất đối xứng Bộ đầu tiên được biểu thị bằng các chấm màu xanh lá cây và bộ thứ hai có các chấm màu trắng. Thông thường, các giá trị độ lệch âm cho biết rằng có một đuôi chiếm ưu thế ở phía bên trái mà bạn có thể nhìn thấy với tập hợp đầu tiên. Các giá trị độ lệch dương tương ứng với phần đuôi dài hơn hoặc mập hơn ở phía bên phải mà bạn có thể thấy trong tập hợp thứ hai. Nếu độ lệch gần bằng 0 (ví dụ: giữa −0. 5 và 0. 5), thì bộ dữ liệu được coi là khá đối xứng Khi bạn đã tính toán kích thước của tập dữ liệu >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
50, giá trị trung bình của mẫu là >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
86 và độ lệch chuẩn >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
87, bạn có thể nhận được độ lệch của mẫu bằng Python thuần túy>>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
1Độ lệch là dương, vì vậy >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 có đuôi bên phảiBạn cũng có thể tính toán độ lệch của mẫu với >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
89>>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
2Kết quả thu được giống như triển khai Python thuần túy. Tham số >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
90 được đặt thành >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
44 để cho phép hiệu chỉnh độ lệch thống kê. Tham số tùy chọn >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
07 có thể nhận các giá trị >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
08, >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
09 hoặc >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
10. Nó cho phép bạn kiểm soát cách bạn sẽ xử lý các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36Các đối tượng của Pandas >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 có phương thức >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
98 cũng trả về độ lệch của tập dữ liệu>>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
3Giống như các phương pháp khác, theo mặc định, >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
98 bỏ qua các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36, vì giá trị mặc định của tham số tùy chọn >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
90phần trăm𝑝 phần trăm mẫu là phần tử trong tập dữ liệu sao cho 𝑝% phần tử trong tập dữ liệu nhỏ hơn hoặc bằng giá trị đó. Ngoài ra, (100 − 𝑝)% phần tử lớn hơn hoặc bằng giá trị đó. Nếu có hai phần tử như vậy trong tập dữ liệu, thì phân vị 𝑝 mẫu là trung bình cộng của chúng. Mỗi tập dữ liệu có ba phần tư, là phần trăm chia tập dữ liệu thành bốn phần - Phần tư thứ nhất là phần trăm thứ 25 của mẫu. Nó phân chia khoảng 25% các mục nhỏ nhất từ phần còn lại của tập dữ liệu
- Phần tư thứ hai là phần trăm thứ 50 của mẫu hoặc trung vị. Khoảng 25% các mục nằm giữa phần tư thứ nhất và thứ hai và 25% khác giữa phần tư thứ hai và thứ ba
- Phần tư thứ ba là phần trăm thứ 75 của mẫu. Nó phân chia khoảng 25% các mục lớn nhất từ phần còn lại của bộ dữ liệu
Mỗi phần có số lượng vật phẩm xấp xỉ nhau. Nếu bạn muốn chia dữ liệu của mình thành nhiều khoảng thời gian, thì bạn có thể sử dụng >>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
4Trong ví dụ này, >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
03 là trung vị của >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33, trong khi >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
05 và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
06 lần lượt là phân vị thứ 25 và 75 của mẫu. Tham số >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
50 xác định số phần trăm xác suất bằng nhau thu được và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
08 xác định cách tính toán chúngGhi chú. >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
02 được giới thiệu trong Python 3. 8Bạn cũng có thể sử dụng >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
10 để xác định bất kỳ phần trăm mẫu nào trong tập dữ liệu của mình. Ví dụ: đây là cách bạn có thể tìm phần trăm thứ 5 và 95>>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
5>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
11 có một số đối số. Bạn phải cung cấp tập dữ liệu làm đối số đầu tiên và giá trị phần trăm làm đối số thứ hai. Tập dữ liệu có thể ở dạng mảng NumPy, danh sách, bộ dữ liệu hoặc cấu trúc dữ liệu tương tự. Phần trăm có thể là một số từ 0 đến 100 như trong ví dụ trên, nhưng nó cũng có thể là một dãy số>>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
6Mã này tính toán tất cả các phân vị thứ 25, 50 và 75 cùng một lúc. Nếu giá trị phần trăm là một chuỗi, thì >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
11 trả về một mảng NumPy với các kết quả. Câu lệnh đầu tiên trả về mảng tứ phân vị. Câu lệnh thứ hai trả về giá trị trung bình, vì vậy bạn có thể xác nhận rằng nó bằng với phân vị thứ 50, là >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
03Nếu bạn muốn bỏ qua các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36, hãy sử dụng >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
15 để thay thế>>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
7Đó là cách bạn có thể tránh các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36NumPy cũng cung cấp cho bạn chức năng tương tự trong >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
17 và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
18. Nếu bạn sử dụng chúng, thì bạn sẽ cần cung cấp các giá trị lượng tử dưới dạng các số từ 0 đến 1 thay vì phần trăm>>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
8Các kết quả giống như trong các ví dụ trước, nhưng ở đây các đối số của bạn nằm trong khoảng từ 0 đến 1. Nói cách khác, bạn đã vượt qua >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
19 thay vì >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
20 và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
21 thay vì >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
22>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
48 đối tượng có phương thức >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
24>>> >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
9>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
24 cũng cần bạn cung cấp giá trị lượng tử làm đối số. Giá trị này có thể là một số từ 0 đến 1 hoặc một dãy số. Trong trường hợp đầu tiên, >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
24 trả về một số vô hướng. Trong trường hợp thứ hai, nó trả về một >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 mới giữ kết quảCác dãyPhạm vi dữ liệu là sự khác biệt giữa phần tử tối đa và tối thiểu trong tập dữ liệu. Bạn có thể lấy nó bằng chức năng >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
28>>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
0Hàm này trả về >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 nếu có giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 trong mảng NumPy của bạn. Nếu bạn sử dụng một đối tượng Pandas >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15, thì nó sẽ trả về một sốNgoài ra, bạn có thể sử dụng các hàm và phương thức Python, NumPy hoặc Pandas tích hợp để tính toán cực đại và cực tiểu của các chuỗi - và từ thư viện chuẩn Python
>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
34 và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
35 từ NumPy>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
36 và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
37 từ NumPy để bỏ qua giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
39 và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
40 từ NumPy>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
39 và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
40 từ Pandas để bỏ qua giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36 theo mặc định
Dưới đây là một số ví dụ về cách bạn sẽ sử dụng các thói quen này >>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
1Đó là cách bạn có được phạm vi dữ liệu Phạm vi liên vùng là sự khác biệt giữa phần tư thứ nhất và thứ ba. Khi bạn tính toán các phần tư, bạn có thể lấy sự khác biệt của chúng >>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
2Lưu ý rằng bạn truy cập các giá trị trong một đối tượng Pandas >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 với các nhãn >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
45 và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
46Loại bỏ các quảng cáoTóm tắt thống kê mô tảSciPy và Pandas cung cấp các quy trình hữu ích để nhanh chóng nhận được số liệu thống kê mô tả với một lệnh gọi hàm hoặc phương thức duy nhất. Bạn có thể sử dụng. số liệu thống kê. mô tả() như thế này >>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
3Bạn phải cung cấp tập dữ liệu làm đối số đầu tiên. Đối số có thể là một mảng NumPy, danh sách, bộ dữ liệu hoặc cấu trúc dữ liệu tương tự. Bạn có thể bỏ qua >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
29 vì nó là giá trị mặc định và chỉ quan trọng khi bạn tính phương sai. Bạn có thể vượt qua >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
48 để buộc sửa độ lệch và độ nhọn cho sai lệch thống kêGhi chú. Tham số tùy chọn >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
07 có thể nhận các giá trị >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
08 (mặc định), >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
09 (lỗi) hoặc >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
10. Tham số này cho phép bạn kiểm soát điều gì đang xảy ra khi có các giá trị >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
36>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
54 trả về một đối tượng chứa các số liệu thống kê mô tả sau>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
55. số lượng quan sát hoặc thành phần trong tập dữ liệu của bạn>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
56. bộ dữ liệu với các giá trị tối thiểu và tối đa của tập dữ liệu của bạn>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
57. giá trị trung bình của tập dữ liệu của bạn>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
58. phương sai của tập dữ liệu của bạn>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
59. độ lệch của tập dữ liệu của bạn>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
60. độ nhọn của tập dữ liệu của bạn
Bạn có thể truy cập các giá trị cụ thể bằng ký hiệu dấu chấm >>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
4Với SciPy, bạn chỉ cần một lệnh gọi hàm để có được bản tóm tắt thống kê mô tả cho tập dữ liệu của mình Pandas có chức năng tương tự, nếu không muốn nói là tốt hơn. >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 đối tượng có phương thức >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
62>>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
5Nó trả về một >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 mới chứa thông tin sau>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
64. số lượng phần tử trong tập dữ liệu của bạn>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
57. giá trị trung bình của tập dữ liệu của bạn>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
66. độ lệch chuẩn của tập dữ liệu của bạn>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
67 và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
68. giá trị tối thiểu và tối đa của tập dữ liệu của bạn>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
69, >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
70 và >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
71. các phần tư của tập dữ liệu của bạn
Nếu bạn muốn đối tượng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 kết quả chứa các phần trăm khác, thì bạn nên chỉ định giá trị của tham số tùy chọn >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
73. Bạn có thể truy cập từng mục của >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
74 cùng với nhãn của nó>>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
6Đó là cách bạn có thể nhận được số liệu thống kê mô tả về một đối tượng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 bằng một lệnh gọi phương thức duy nhất bằng cách sử dụng PandasCác biện pháp tương quan giữa các cặp dữ liệuBạn sẽ thường xuyên cần kiểm tra mối quan hệ giữa các phần tử tương ứng của hai biến trong tập dữ liệu. Giả sử có hai biến, 𝑥 và 𝑦, với số phần tử bằng nhau, 𝑛. Đặt 𝑥₁ từ 𝑥 tương ứng với 𝑦₁ từ 𝑦, 𝑥₂ từ 𝑥 đến 𝑦₂ từ 𝑦, v.v. Khi đó bạn có thể nói rằng có 𝑛 cặp phần tử tương ứng. (𝑥₁, 𝑦₁), (𝑥₂, 𝑦₂), v.v. Bạn sẽ thấy các biện pháp tương quan giữa các cặp dữ liệu sau đây - Tương quan dương tồn tại khi giá trị lớn hơn của 𝑥 tương ứng với giá trị lớn hơn của 𝑦 và ngược lại
- Tương quan nghịch tồn tại khi giá trị lớn hơn của 𝑥 tương ứng với giá trị nhỏ hơn của 𝑦 và ngược lại
- Tương quan yếu hoặc không tồn tại nếu không có mối quan hệ rõ ràng như vậy
Hình dưới đây cho thấy các ví dụ về mối tương quan tiêu cực, yếu và tích cực Biểu đồ bên trái với các chấm đỏ cho thấy mối tương quan tiêu cực. Biểu đồ ở giữa với các chấm màu xanh lá cây cho thấy mối tương quan yếu. Cuối cùng, biểu đồ bên phải với các chấm màu xanh cho thấy mối tương quan tích cực Ghi chú. Có một điều quan trọng mà bạn phải luôn ghi nhớ khi làm việc với mối tương quan giữa một cặp biến, đó là mối tương quan đó không phải là thước đo hay chỉ báo về quan hệ nhân quả, mà chỉ là mối liên hệ. Hai thống kê đo lường mối tương quan giữa các tập dữ liệu là hiệp phương sai và hệ số tương quan. Hãy xác định một số dữ liệu để làm việc với các biện pháp này. Bạn sẽ tạo hai danh sách Python và sử dụng chúng để lấy các mảng và Pandas NumPy tương ứng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15>>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
7Bây giờ bạn đã có hai biến, bạn có thể bắt đầu khám phá mối quan hệ giữa chúng hiệp phương saiHiệp phương sai mẫu là thước đo định lượng độ mạnh và hướng của mối quan hệ giữa một cặp biến - Nếu tương quan dương thì hiệp phương sai cũng dương. Một mối quan hệ mạnh mẽ hơn tương ứng với một giá trị cao hơn của hiệp phương sai
- Nếu tương quan âm, thì hiệp phương sai cũng âm. Mối quan hệ mạnh hơn tương ứng với giá trị thấp hơn (hoặc cao hơn tuyệt đối) của hiệp phương sai
- Nếu mối tương quan yếu, thì hiệp phương sai gần bằng không
Hiệp phương sai của các biến 𝑥 và 𝑦 được định nghĩa về mặt toán học là 𝑠ˣʸ = Σᵢ (𝑥ᵢ − mean(𝑥)) (𝑦ᵢ − mean(𝑦)) / (𝑛 − 1), trong đó 𝑖 = 1, 2, …, 𝑛, nghĩa là . Theo đó, hiệp phương sai của hai biến giống hệt nhau thực sự là phương sai. 𝑠ˣˣ = Σᵢ(𝑥ᵢ − mean(𝑥))² / (𝑛 − 1) = (𝑠ˣ)² và 𝑠ʸʸ = Σᵢ(𝑦ᵢ − mean(𝑦))² / (𝑛 − 1) = (𝑠ʸ)² Đây là cách bạn có thể tính toán hiệp phương sai trong Python thuần túy >>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
8Đầu tiên, bạn phải tìm giá trị trung bình của >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51. Sau đó, bạn áp dụng công thức toán học cho hiệp phương saiNumPy có chức năng >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
79 trả về ma trận hiệp phương sai>>> >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
9Lưu ý rằng >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
79 có các tham số tùy chọn >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
90, mặc định là >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
44 và >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
45, mặc định là >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
84. Các giá trị mặc định của chúng phù hợp để lấy ma trận hiệp phương sai mẫu. The upper-left element of the covariance matrix is the covariance of >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 and >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33, or the variance of >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33. Similarly, the lower-right element is the covariance of >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51 and >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51, or the variance of >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51. You can check to see that this is true>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
0As you can see, the variances of >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 and >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51 are equal to >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
93 and >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
94, respectivelyThe other two elements of the covariance matrix are equal and represent the actual covariance between >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 and >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
1You’ve obtained the same value of the covariance with >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
97 as with pure PythonPandas >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 have the method >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
99 that you can use to calculate the covariance>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
2Here, you call >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
99 on one >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 object and pass the other object as the first argumentCorrelation CoefficientThe correlation coefficient, or Pearson product-moment correlation coefficient, is denoted by the symbol 𝑟. Hệ số là một phép đo khác về mối tương quan giữa dữ liệu. You can think of it as a standardized covariance. Here are some important facts about it - The value 𝑟 > 0 indicates positive correlation
- The value 𝑟 < 0 indicates negative correlation
- The value r = 1 is the maximum possible value of 𝑟. Nó tương ứng với một mối quan hệ tuyến tính tích cực hoàn hảo giữa các biến
- Giá trị r = −1 là giá trị nhỏ nhất có thể có của 𝑟. Nó tương ứng với một mối quan hệ tuyến tính tiêu cực hoàn hảo giữa các biến
- Giá trị r ≈ 0, hoặc khi 𝑟 quanh 0, có nghĩa là mối tương quan giữa các biến yếu
Công thức toán học của hệ số tương quan là 𝑟 = 𝑠ˣʸ / (𝑠ˣ𝑠ʸ) trong đó 𝑠ˣ và 𝑠ʸ lần lượt là độ lệch chuẩn của 𝑥 và 𝑦. Nếu bạn có phương tiện ( >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
02 và >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
03) và độ lệch chuẩn (>>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
04, >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
05) cho bộ dữ liệu >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 và >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51, cũng như hiệp phương sai của chúng >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
08, thì bạn có thể tính hệ số tương quan bằng Python thuần túy>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
3Bạn có biến >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
09 đại diện cho hệ số tương quan>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
14 có quy trình >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
11 tính toán hệ số tương quan và giá trị 𝑝>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
4>>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
11 trả về một bộ có hai số. Cái đầu tiên là 𝑟 và cái thứ hai là giá trị 𝑝Tương tự như trường hợp của ma trận hiệp phương sai, bạn có thể áp dụng >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
13 với >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
14 và >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
15 làm đối số và nhận được ma trận hệ số tương quan>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
5Phần tử phía trên bên trái là hệ số tương quan giữa >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
14 và >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
14. Phần tử phía dưới bên phải là hệ số tương quan giữa >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
15 và >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
15. Giá trị của chúng bằng với >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
20. Hai yếu tố còn lại bằng nhau và biểu thị hệ số tương quan thực tế giữa >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
14 và >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
15>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
6Tất nhiên, kết quả cũng giống như với Python thuần túy và >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
11Bạn có thể lấy hệ số tương quan với >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
24>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
7>>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
25 lấy >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
14 và >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
15, thực hiện hồi quy tuyến tính và trả về kết quả. >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
28 và >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
29 xác định phương trình của đường hồi quy, trong khi >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
30 là hệ số tương quan. Để truy cập các giá trị cụ thể từ kết quả của >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
25, bao gồm cả hệ số tương quan, hãy sử dụng ký hiệu dấu chấm>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
8Đó là cách bạn có thể thực hiện hồi quy tuyến tính và thu được hệ số tương quan Pandas >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 có phương pháp >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
33 để tính hệ số tương quan>>> >>> mean_ = np.mean(y)
>>> mean_
8.7
9Bạn nên gọi >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
33 trên một đối tượng >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 và chuyển đối tượng kia làm đối số đầu tiênLoại bỏ các quảng cáoLàm việc với dữ liệu 2DCác nhà thống kê thường làm việc với dữ liệu 2D. Dưới đây là một số ví dụ về định dạng dữ liệu 2D - bảng cơ sở dữ liệu
- tệp CSV
- Bảng tính Excel, Calc và Google
NumPy và SciPy cung cấp phương tiện toàn diện để làm việc với dữ liệu 2D. Pandas có lớp >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 đặc biệt để xử lý dữ liệu được dán nhãn 2DtrụcBắt đầu bằng cách tạo một mảng 2D NumPy >>> >>> mean_ = y.mean()
>>> mean_
8.7
0Bây giờ bạn có tập dữ liệu 2D mà bạn sẽ sử dụng trong phần này. Bạn có thể áp dụng các hàm và phương thức thống kê Python cho nó giống như cách bạn làm với dữ liệu 1D >>> >>> mean_ = y.mean()
>>> mean_
8.7
1Như bạn có thể thấy, bạn nhận được số liệu thống kê (như giá trị trung bình, trung vị hoặc phương sai) trên tất cả dữ liệu trong mảng >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
37. Đôi khi, hành vi này là những gì bạn muốn, nhưng trong một số trường hợp, bạn sẽ muốn các số lượng này được tính cho từng hàng hoặc cột trong mảng 2D của mìnhCác chức năng và phương pháp bạn đã sử dụng cho đến nay có một tham số tùy chọn được gọi là >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
38, điều cần thiết để xử lý dữ liệu 2D. >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
38 có thể nhận bất kỳ giá trị nào sau đây>>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
40 nói để tính toán số liệu thống kê trên tất cả dữ liệu trong mảng. Các ví dụ trên hoạt động như thế này. Hành vi này thường là mặc định trong NumPy>>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
41 nói để tính số liệu thống kê trên tất cả các hàng, tức là cho từng cột của mảng. Hành vi này thường là mặc định cho các chức năng thống kê SciPy>>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
42 nói để tính số liệu thống kê trên tất cả các cột, tức là cho mỗi hàng của mảng
Hãy xem >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
41 hoạt động với >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
72>>> >>> mean_ = y.mean()
>>> mean_
8.7
2Hai câu lệnh trên trả về các mảng NumPy mới với giá trị trung bình cho mỗi cột là >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
37. Trong ví dụ này, giá trị trung bình của cột đầu tiên là >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
46. Cột thứ hai có giá trị trung bình là >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
47, trong khi cột thứ ba có giá trị trung bình là >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
48Nếu bạn cung cấp >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
42 đến >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
60, thì bạn sẽ nhận được kết quả cho mỗi hàng>>> >>> mean_ = y.mean()
>>> mean_
8.7
3Như bạn có thể thấy, hàng đầu tiên của >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
37 có nghĩa là >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
20, hàng thứ hai là >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
53, v.v.Ghi chú. Bạn có thể mở rộng các quy tắc này sang mảng nhiều chiều, nhưng điều đó nằm ngoài phạm vi của hướng dẫn này. Hãy tự mình đi sâu vào chủ đề này Tham số >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
38 hoạt động tương tự với các hàm và phương thức NumPy khác>>> >>> mean_ = y.mean()
>>> mean_
8.7
4Bạn đã có trung vị và biến thể mẫu cho tất cả các cột ( >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
41) và hàng (>>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
42) của mảng >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
37Điều này rất giống khi bạn làm việc với các hàm thống kê SciPy. Nhưng hãy nhớ rằng trong trường hợp này, giá trị mặc định cho >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
38 là >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
08>>> >>> mean_ = y.mean()
>>> mean_
8.7
5Nếu bạn bỏ qua >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
38 hoặc cung cấp >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
41, thì bạn sẽ nhận được kết quả trên tất cả các hàng, tức là cho từng cột. Ví dụ: cột đầu tiên của >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
37 có giá trị trung bình hình học là >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
63, v.v.Nếu bạn chỉ định >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
42, thì bạn sẽ nhận được các phép tính trên tất cả các cột, tức là cho mỗi hàng>>> >>> mean_ = y.mean()
>>> mean_
8.7
6Trong ví dụ này, giá trị trung bình hình học của hàng đầu tiên của >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
37 là >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
20. Đối với hàng thứ hai, nó xấp xỉ >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
67, v.v.Nếu bạn muốn thống kê cho toàn bộ tập dữ liệu, thì bạn phải cung cấp >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
40>>> >>> mean_ = y.mean()
>>> mean_
8.7
7Giá trị trung bình hình học của tất cả các mục trong mảng >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
37 là khoảng >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
70Bạn có thể nhận được bản tóm tắt thống kê Python bằng một lệnh gọi hàm duy nhất cho dữ liệu 2D với scipy. số liệu thống kê. diễn tả(). Nó hoạt động tương tự như mảng 1D, nhưng bạn phải cẩn thận với tham số >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
38>>> >>> mean_ = y.mean()
>>> mean_
8.7
8Khi bạn cung cấp >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
40, bạn sẽ nhận được bản tóm tắt trên tất cả dữ liệu. Hầu hết các kết quả là vô hướng. If you set >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
41 or omit it, then the return value is the summary for each column. So, most results are the arrays with the same number of items as the number of columns. If you set >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
42, then >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
54 returns the summary for all rowsYou can get a particular value from the summary with dot notation >>> >>> mean_ = y.mean()
>>> mean_
8.7
9That’s how you can see a statistics summary for a 2D array with a single function call Loại bỏ các quảng cáoDataFramesThe class >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 is one of the fundamental Pandas data types. It’s very comfortable to work with because it has labels for rows and columns. Use the array >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
37 and create a >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16>>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
0In practice, the names of the columns matter and should be descriptive. The names of the rows are sometimes specified automatically as >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
08, >>> y, y_with_nan = np.array(x), np.array(x_with_nan)
>>> z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
>>> y
array([ 8. , 1. , 2.5, 4. , 28. ])
>>> y_with_nan
array([ 8. , 1. , 2.5, nan, 4. , 28. ])
>>> z
0 8.0
1 1.0
2 2.5
3 4.0
4 28.0
dtype: float64
>>> z_with_nan
0 8.0
1 1.0
2 2.5
3 NaN
4 4.0
5 28.0
dtype: float64
30, and so on. You can specify them explicitly with the parameter >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
81, though you’re free to omit >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
81 if you like>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 methods are very similar to >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 methods, though the behavior is different. If you call Python statistics methods without arguments, then the >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 will return the results for each column>>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
1What you get is a new >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 that holds the results. In this case, the >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 holds the mean and variance for each column. If you want the results for each row, then just specify the parameter >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
42>>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
2The result is a >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 with the desired quantity for each row. Các nhãn >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
90, >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
91, v.v. đề cập đến các hàng khác nhauYou can isolate each column of a >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 like this>>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
3Now, you have the column >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
93 in the form of a >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 object and you can apply the appropriate methods>>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
4That’s how you can obtain the statistics for a single column Sometimes, you might want to use a >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 as a NumPy array and apply some function to it. It’s possible to get all data from a >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 with >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
22 or >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
23>>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
5>>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
99 and >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
00 give you a NumPy array with all items from the >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 without row and column labels. Note that >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
00 is more flexible because you can specify the data type of items and whether you want to use the existing data or copy itLike >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15, >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 objects have the method >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
62 that returns another >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 with the statistics summary for all columns>>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
6The summary contains the following results >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
64. the number of items in each column>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
57. the mean of each column>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
66. the standard deviation>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
67 and >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
68. the minimum and maximum values>>> mean_ = sum(x) / len(x)
>>> mean_
8.7
69, >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
70, and >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
71. the percentiles
If you want the resulting >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
16 object to contain other percentiles, then you should specify the value of the optional parameter >>> mean_ = sum(x) / len(x)
>>> mean_
8.7
73You can access each item of the summary like this >>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
7That’s how you can get descriptive Python statistics in one >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
15 object with a single Pandas method callLoại bỏ các quảng cáoVisualizing DataIn addition to calculating the numerical quantities like mean, median, or variance, you can use visual methods to present, describe, and summarize data. In this section, you’ll learn how to present your data visually using the following graphs - Box plots
- Histograms
- Pie charts
- biểu đồ thanh
- X-Y plots
- Heatmaps
>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
32 is a very convenient and widely-used library, though it’s not the only Python library available for this purpose. You can import it like this>>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
8Now, you have >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
32 imported and ready for use. The second statement sets the style for your plots by choosing colors, line widths, and other stylistic elements. You’re free to omit these if you’re satisfied with the default style settingsNote. Phần này tập trung vào việc trình bày dữ liệu và giữ các cài đặt phong cách ở mức tối thiểu. You’ll see links to the official documentation for used routines from >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
32, so you can explore the options that you won’t see hereYou’ll use pseudo-random numbers to get data to work with. You don’t need knowledge on random numbers to be able to understand this section. You just need some arbitrary numbers, and pseudo-random generators are a convenient tool to get them. The module >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
21 generates arrays of pseudo-random numbers- Normally distributed numbers are generated with
>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
22 - Uniformly distributed integers are generated with
>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
23
NumPy 1. 17 introduced another for pseudo-random number generation. To learn more about it, check the official documentation Box PlotsThe box plot is an excellent tool to visually represent descriptive statistics of a given dataset. It can show the range, interquartile range, median, mode, outliers, and all quartiles. First, create some data to represent with a box plot >>> >>> np.mean(y_with_nan)
nan
>>> y_with_nan.mean()
nan
9The first statement sets the seed of the NumPy random number generator with >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
24, so you can get the same results each time you run the code. You don’t have to set the seed, but if you don’t specify this value, then you’ll get different results each timeThe other statements generate three NumPy arrays with normally distributed pseudo-random numbers. >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 refers to the array with 1000 items, >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51 has 100, and >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
54 contains 10 items. Now that you have the data to work with, you can apply >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
28 to get the box plot>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
00The parameters of >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
28 define the following>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 is your data>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
31 sets the plot orientation to horizontal when >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
44. The default orientation is vertical>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
33 shows the mean of your data when >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
34>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
35 represents the mean as a line when >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
34. The default representation is a point>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
37. the labels of your data>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
38 determines how to draw the graph>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
39 denotes the properties of the line representing the median>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
40 indicates the properties of the line or dot representing the mean
There are other parameters, but their analysis is beyond the scope of this tutorial The code above produces an image like this You can see three box plots. Each of them corresponds to a single dataset ( >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33, >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51, or >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
54) and show the following- The mean is the red dashed line
- The median is the purple line
- The first quartile is the left edge of the blue rectangle
- The third quartile is the right edge of the blue rectangle
- The interquartile range is the length of the blue rectangle
- The range contains everything from left to right
- The outliers are the dots to the left and right
A box plot can show so much information in a single figure Loại bỏ các quảng cáoHistogramsHistograms are particularly useful when there are a large number of unique values in a dataset. The histogram divides the values from a sorted dataset into intervals, also called bins. Often, all bins are of equal width, though this doesn’t have to be the case. The values of the lower and upper bounds of a bin are called the bin edges The frequency is a single value that corresponds to each bin. It’s the number of elements of the dataset with the values between the edges of the bin. Theo quy ước, tất cả các ngăn trừ ngăn ngoài cùng bên phải đều được mở một nửa. They include the values equal to the lower bounds, but exclude the values equal to the upper bounds. The rightmost bin is closed because it includes both bounds. If you divide a dataset with the bin edges 0, 5, 10, and 15, then there are three bins - The first and leftmost bin contains the values greater than or equal to 0 and less than 5
- The second bin contains the values greater than or equal to 5 and less than 10
- The third and rightmost bin contains the values greater than or equal to 10 and less than or equal to 15
The function >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
44 is a convenient way to get data for histograms>>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
01It takes the array with your data and the number (or edges) of bins and returns two NumPy arrays >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
45 contains the frequency or the number of items corresponding to each bin>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
46 contains the edges or bounds of the bin
What >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
47 calculates, >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
48 can show graphically>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
02The first argument of >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
48 is the sequence with your data. The second argument defines the edges of the bins. Thứ ba vô hiệu hóa tùy chọn tạo biểu đồ với các giá trị tích lũy. The code above produces a figure like thisYou can see the bin edges on the horizontal axis and the frequencies on the vertical axis It’s possible to get the histogram with the cumulative numbers of items if you provide the argument >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
50 to >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
48>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
03This code yields the following figure It shows the histogram with the cumulative values. The frequency of the first and leftmost bin is the number of items in this bin. The frequency of the second bin is the sum of the numbers of items in the first and second bins. The other bins follow this same pattern. Finally, the frequency of the last and rightmost bin is the total number of items in the dataset (in this case, 1000). You can also directly draw a histogram with >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
52 using >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
29 in the backgroundPie ChartsPie charts represent data with a small number of labels and given relative frequencies. They work well even with the labels that can’t be ordered (like nominal data). A pie chart is a circle divided into multiple slices. Each slice corresponds to a single distinct label from the dataset and has an area proportional to the relative frequency associated with that label Let’s define data associated to three labels >>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
04Now, create a pie chart with >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
54>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
05The first argument of >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
54 is your data, and the second is the sequence of the corresponding labels. >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
56 defines the format of the relative frequencies shown on the figure. You’ll get a figure that looks like thisThe pie chart shows >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 as the smallest part of the circle, >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51 as the next largest, and then >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
54 as the largest part. The percentages denote the relative size of each value compared to their sumLoại bỏ các quảng cáoBar ChartsBar charts also illustrate data that correspond to given labels or discrete numeric values. They can show the pairs of data from two datasets. Items of one set are the labels, while the corresponding items of the other are their frequencies. Optionally, they can show the errors related to the frequencies, as well The bar chart shows parallel rectangles called bars. Each bar corresponds to a single label and has a height proportional to the frequency or relative frequency of its label. Let’s generate three datasets, each with 21 items >>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
06You use >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
60 to get >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33, or the array of consecutive integers from >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
08 to >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
63. You’ll use this to represent the labels. >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51 is an array of uniformly distributed random integers, also between >>> math.isnan(np.nan), np.isnan(math.nan)
(True, True)
>>> math.isnan(y_with_nan[3]), np.isnan(y_with_nan[3])
(True, True)
08 and >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
63. This array will represent the frequencies. >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
67 contains normally distributed floating-point numbers, which are the errors. These values are optionalYou can create a bar chart with >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
68 if you want vertical bars or >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
69 if you’d like horizontal bars>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
07This code should produce the following figure The heights of the red bars correspond to the frequencies >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51, while the lengths of the black lines show the errors >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
67. If you don’t want to include the errors, then omit the parameter >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
72 of >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
68X-Y PlotsThe x-y plot or scatter plot represents the pairs of data from two datasets. The horizontal x-axis shows the values from the set >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33, while the vertical y-axis shows the corresponding values from the set >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51. You can optionally include the regression line and the correlation coefficient. Hãy tạo hai bộ dữ liệu và thực hiện hồi quy tuyến tính với >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
24>>> >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
08The dataset >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 is again the array with the integers from 0 to 20. >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
51 is calculated as a linear function of >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
33 distorted with some random noise>>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
80 returns several values. You’ll need the >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
28 and >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
29 of the regression line, as well as the correlation coefficient >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
09. Then you can apply >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
84 to get the x-y plot>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
09Kết quả của đoạn mã trên là con số này You can see the data points (x-y pairs) as red squares, as well as the blue regression line HeatmapsMột bản đồ nhiệt có thể được sử dụng để hiển thị trực quan một ma trận. The colors represent the numbers or elements of the matrix. Heatmaps are particularly useful for illustrating the covariance and correlation matrices. You can create the heatmap for a covariance matrix with >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
85>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
10Here, the heatmap contains the labels >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
86 and >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
87 as well as the numbers from the covariance matrix. You’ll get a figure like thisThe yellow field represents the largest element from the matrix >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
88, while the purple one corresponds to the smallest element >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
89. The blue squares in between are associated with the value >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
90You can obtain the heatmap for the correlation coefficient matrix following the same logic >>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
11The result is the figure below The yellow color represents the value >>> mean_ = statistics.mean(x)
>>> mean_
8.7
>>> mean_ = statistics.fmean(x)
>>> mean_
8.7
20, and the purple color shows >>> mean_ = statistics.mean(x_with_nan)
>>> mean_
nan
>>> mean_ = statistics.fmean(x_with_nan)
>>> mean_
nan
92Loại bỏ các quảng cáoConclusionYou now know the quantities that describe and summarize datasets and how to calculate them in Python. It’s possible to get descriptive statistics with pure Python code, but that’s rarely necessary. Usually, you’ll use some of the libraries created especially for this purpose - Use Python’s
>>> x = [8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
>>> x
[8.0, 1, 2.5, 4, 28.0]
>>> x_with_nan
[8.0, 1, 2.5, nan, 4, 28.0]
12 for the most important Python statistics functions - Use NumPy to handle arrays efficiently
- Use SciPy for additional Python statistics routines for NumPy arrays
- Use Pandas to work with labeled datasets
- Use Matplotlib to visualize data with plots, charts, and histograms
In the era of big data and artificial intelligence, you must know how to calculate descriptive statistics measures. Bây giờ bạn đã sẵn sàng tìm hiểu sâu hơn về thế giới khoa học dữ liệu và máy học. If you have questions or comments, then please put them in the comments section below Mark as Completed 🐍 Python Tricks 💌 Get a short & sweet Python Trick delivered to your inbox every couple of days. No spam ever. Unsubscribe any time. Curated by the Real Python team Send Me Python Tricks »About Mirko Stojiljković Mirko has a Ph. D. in Mechanical Engineering and works as a university professor. He is a Pythonista who applies hybrid optimization and machine learning methods to support decision making in the energy sector » More about Mirko
Each tutorial at Real Python is created by a team of developers so that it meets our high quality standards. The team members who worked on this tutorial are Aldren Geir Arne Jaya Joanna Kyle Master Real-World Python Skills With Unlimited Access to Real Python Join us and get access to thousands of tutorials, hands-on video courses, and a community of expert Pythonistas Level Up Your Python Skills » Master Real-World Python Skills With Unlimited Access to Real Python Join us and get access to thousands of tutorials, hands-on video courses, and a community of expert Pythonistas Level Up Your Python Skills » What Do You Think? Rate this article Tweet Share Share EmailWhat’s your #1 takeaway or favorite thing you learned? How are you going to put your newfound skills to use? Leave a comment below and let us know Commenting Tips. The most useful comments are those written with the goal of learning from or helping out other students. and get answers to common questions in our support portal
What is DF info () in Python?
Pandas DataFrame info() Method
The info() method prints information about the DataFrame . The information contains the number of columns, column labels, column data types, memory usage, range index, and the number of cells in each column (non-null values). Note. phương thức info() thực sự in thông tin.
What is DF head () in Python?
The head() method returns a specified number of rows, string from the top . Phương thức head() trả về 5 hàng đầu tiên nếu một số không được chỉ định. Note. The column names will also be returned, in addition to the specified rows.
DIV() trong Python là gì?
div() được dùng để tìm phân chia nổi của khung dữ liệu và các phần tử khác . This function is similar to dataframe/other, but with an additional support to handle missing value in one of the input data. cú pháp. Khung dữ liệu. div(other, axis='columns', level=None, fill_value=None) |