Python - Đo lường xu hướng trung tâm

Xu hướng trung tâm về mặt toán học có nghĩa là đo lường trung tâm hoặc sự phân bố vị trí của các giá trị của tập dữ liệu. Nó cung cấp ý tưởng về giá trị trung bình của dữ liệu trong tập dữ liệu và cũng là dấu hiệu về mức độ lan truyền của các giá trị trong tập dữ liệu. Điều đó lại giúp đánh giá cơ hội của một đầu vào mới phù hợp với tập dữ liệu hiện có và do đó xác suất thành công.

Có ba thước đo chính về xu hướng trung tâm có thể được tính toán bằng các phương pháp trong thư viện trăn gấu trúc.

  • Mean - Đây là giá trị trung bình của dữ liệu là phép chia tổng các giá trị với số lượng giá trị.

  • Trung vị - Là giá trị giữa trong phân phối khi các giá trị được sắp xếp theo thứ tự tăng dần hoặc giảm dần.

  • Chế độ - Đây là giá trị xuất hiện phổ biến nhất trong một phân phối.

Tính trung bình và trung vị

Các hàm pandas có thể được sử dụng trực tiếp để tính toán các giá trị này.

import pandas as pd

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','Chanchal','Gasper','Naviya','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print "Mean Values in the Distribution"
print df.mean()
print "*******************************"
print "Median Values in the Distribution"
print df.median()

Nó là output như sau -

Mean Values in the Distribution
Age       31.833333
Rating     3.743333
dtype: float64
*******************************
Median Values in the Distribution
Age       29.50
Rating     3.79
dtype: float64

Chế độ tính toán

Chế độ có thể có sẵn hoặc không trong một bản phân phối tùy thuộc vào việc dữ liệu có liên tục hoặc có các giá trị có tần suất tối đa hay không. Chúng tôi thực hiện một phân phối đơn giản dưới đây để tìm ra chế độ. Ở đây chúng ta có một giá trị có tần số tối đa trong phân phối.

import pandas as pd

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','Chanchal','Gasper','Naviya','Andres']),
   'Age':pd.Series([25,26,25,23,30,25,23,34,40,30,25,46])}
#Create a DataFrame
df = pd.DataFrame(d)

print df.mode()

Nó là output như sau -

Age      Name
0   25.0    Andres
1    NaN  Chanchal
2    NaN    Gasper
3    NaN      Jack
4    NaN     James
5    NaN       Lee
6    NaN    Naviya
7    NaN     Ricky
8    NaN     Smith
9    NaN     Steve
10   NaN       Tom
11   NaN       Vin