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