Hướng dẫn hàm rank trong python

Phương pháp thống kê giúp hiểu và phân tích hành vi của dữ liệu. Bây giờ chúng ta sẽ tìm hiểu một vài hàm thống kê mà ta có thể áp dụng trong Pandas.

1. Percent_change

Series, DatFrames và Panel, tất cả đều có hàm pct_change (). Hàm này so sánh mọi phần tử với phần tử trước của nó và tính toán tỷ lệ phần trăm thay đổi.

import pandas as pd
import numpy as np
s = pd.Series([1,2,3,4,5,4])
print s.pct_change()

df = pd.DataFrame(np.random.randn(5, 2))
print df.pct_change()

Kết quả :

0        NaN
1   1.000000
2   0.500000
3   0.333333
4   0.250000
5  -0.200000
dtype: float64

            0          1
0         NaN        NaN
1  -15.151902   0.174730
2  -0.746374   -1.449088
3  -3.582229   -3.165836
4   15.601150  -1.860434

Theo mặc định, pct_change () hoạt động trên các cột; nếu bạn muốn áp dụng cùng một hàng, thay đổi đối số axis = 1 ().

2. Covariance ( Hiệp phương sai)

Hiệp phương sai được áp dụng trên dữ liệu series. Đối tượng Series có một phương thức cov để tính hiệp phương sai giữa các đối tượng series. NA sẽ tự động bị loại trừ.

a. Cov Series
import pandas as pd
import numpy as np
s1 = pd.Series(np.random.randn(10))
s2 = pd.Series(np.random.randn(10))
print s1.cov(s2)

Kết quả :

Phương pháp hiệp phương sai khi được áp dụng trên DataFrame, tính toán cov giữa tất cả các cột.

import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
print frame['a'].cov(frame['b'])
print frame.cov()

Kết quả :

-0.58312921152741437

           a           b           c           d            e
a   1.780628   -0.583129   -0.185575    0.003679    -0.136558
b  -0.583129    1.297011    0.136530   -0.523719     0.251064
c  -0.185575    0.136530    0.915227   -0.053881    -0.058926
d   0.003679   -0.523719   -0.053881    1.521426    -0.487694
e  -0.136558    0.251064   -0.058926   -0.487694     0.960761

Lưu ý -  giữa cột a và b trong câu lệnh đầu tiên và cùng là giá trị được trả về bởi cov trên DataFrame.

3. Correlation

Correlation cho thấy mối quan hệ tuyến tính giữa hai mảng giá trị (series) bất kỳ. Có nhiều phương pháp để tính toán mối tương quan như pearson (mặc định), Speman và kendall.

import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])

print frame['a'].corr(frame['b'])
print frame.corr()

Kết quả :

-0.383712785514

           a          b          c          d           e
a   1.000000  -0.383713  -0.145368   0.002235   -0.104405
b  -0.383713   1.000000   0.125311  -0.372821    0.224908
c  -0.145368   0.125311   1.000000  -0.045661   -0.062840
d   0.002235  -0.372821  -0.045661   1.000000   -0.403380
e  -0.104405   0.224908  -0.062840  -0.403380    1.000000

Nếu có bất kỳ cột nào không phải là số trong DataFrame, nó sẽ tự động bị loại trừ.

4. Data Ranking

Data ranking tạo ra xếp hạng cho từng phần tử trong mảng các phần tử. Trong trường hợp quan hệ, chỉ định thứ hạng trung bình.

import pandas as pd
import numpy as np

s = pd.Series(np.random.np.random.randn(5), index=list('abcde'))
s['d'] = s['b'] # so there's a tie
print s.rank()

Kết quả :

a  1.0
b  3.5
c  2.0
d  3.5
e  5.0
dtype: float64

Rank tùy chọn nhận một tham số tăng dần theo mặc định là True; khi false, dữ liệu được xếp hạng ngược, với các giá trị lớn hơn được chỉ định một thứ hạng nhỏ hơn.

  • average − xếp hạng trung bình của nhóm bị ràng buộc
  • min − thứ hạng thấp nhất trong nhóm
  • max − thứ hạng cao nhất trong nhóm
  • first − xếp hạng được chỉ định theo thứ tự xuất hiện trong mảng

Hàm RANK là một trong những hàm cơ bản của Excel dùng cho mục đích xếp hạng. Trong bài viết này Học Excel Online sẽ hướng dẫn các bạn cách sử dụng hàm RANK một cách chi tiết và cụ thể nhất.

  • Cấu trúc của hàm RANK
  • Xếp hạng theo thứ tự tăng dần với hàm RANK
  • Xếp hạng theo thứ tự giảm dần bằng hàm RANK

Cấu trúc của hàm RANK

Hàm RANK được viết như sau:

=RANK(number, ref, [order])

Trong đó:

  • Number: số cần xếp hạng trong danh sách
  • Ref: danh sách các số
  • Order: thứ tự xếp hạng. Gồm 2 cách sắp xếp theo thứ tự tăng dần (số 0 = mặc định nếu không nhập) hay thứ tự giảm dần (số 1)

Hàm RANK được dùng trong mọi phiên bản của Excel như Excel 2003, Excel 2007, Excel 2010, Excel 2013, Excel 2016, Office 365…

Tuy nhiên trong các phiên bản mới của Excel (từ 2010 trở đi) có thể sử dụng các hàm RANK.AVG và RANK.EQ để việc sắp xếp được cụ thể hơn, chính xác hơn. Tuy nhiên chúng ta vẫn có thể sử dụng hàm RANK trong mọi phiên bản một cách bình thường.

Sau đây chúng ta cùng xét một số ví dụ về cách sử dụng hàm RANK để xếp hạng trong Excel

Xếp hạng theo thứ tự tăng dần với hàm RANK

Hướng dẫn hàm rank trong python

Hướng dẫn hàm rank trong python

Để xác định điểm của mỗi người xếp hạng thứ mấy trong danh sách điểm trung bình B2:B8, chúng ta sử dụng hàm Rank:

C2=RANK(B2,$B$2:$B$8)

  • Xét điểm TB tại ô B2, trong danh sách điểm từ B2:B8
  • Không sử dụng tham số tại [order] tức là sắp xếp theo thứ tự tăng dần.

Như vậy ta thấy:

  • Người có điểm TB cao nhất là 9.5 được xếp hạng 1
  • Người có điểm TB là 8.1 được xếp thứ 2, trong đó có 2 người cùng điểm, do đó có 2 vị trí xếp hạng 2 là dòng 3 và dòng 6
  • Do 2 người đồng hạng 2 nên sẽ không có xếp hạng 3. Hạng tiếp theo sẽ là hạng 4, ứng với số điểm TB là 7.6

Xếp hạng theo thứ tự giảm dần bằng hàm RANK

Xếp hạng theo thứ tự giảm dần khi chúng ta muốn đánh giá trên những tiêu chí “không tốt”, căn cứ vào đó để đánh giá xem ai có giá trị thấp nhất thì tốt nhất.

Hướng dẫn hàm rank trong python

Trong ví dụ trên, chúng ta muốn xếp hạng theo số lỗi mà mỗi người mắc phải. Ai ít lỗi nhất thì xếp thứ 1. Số lỗi tăng dần thì thứ tự xếp hạng sẽ tăng dần.

Khi đó chúng ta sẽ dùng hàm RANK với Order = 1

C2=RANK(B2,$B$2:$B$8,1)

  • Giá trị xét xếp hạng: ô B2
  • Vùng danh sách các số tham chiếu: B2:B8. Vùng này cần cố định để không thay đổi trong các công thức
  • Thứ tự xếp hạng: giảm dần, dùng số 1

Như vậy 2 người có lỗi ít nhất (là 1 lỗi) thì đều xếp thứ 1. Người mắc nhiều lỗi nhất (là 8 lỗi) xếp thứ 7

Tuy nhiên trong 2 cách sắp xếp trên, chúng ta thấy hàm RANK cho phép những giá trị giống nhau thì cùng chung 1 thứ hạng. Nhưng thực tế đôi khi chúng ta cần xếp hạng cụ thể cho từng bậc, nếu giống nhau thì cần có thêm tiêu chí phụ để làm căn cứ đánh giá xếp hạng. Khi đó chúng ta sẽ có thêm 2 kiểu xếp hạng:

Kiểu thứ 1: Xếp hạng liên tục không nhảy bậc (không đồng hạng)

Tham khảo bài viết: Cách dùng hàm RANK và hàm COUNTIF để xếp hạng liên tục không nhảy bậc trong Excel

Kiểu thứ 2: Xếp hạng theo điều kiện

Nội dung này các bạn có thể xem thêm tại bài viết:

Xếp hạng theo điều kiện trong excel – Phần 1

Xếp hạng theo điều kiện trong excel – Phần 2

Xếp hạng theo điều kiện trong excel – Phần 3

Ngoài ra các bạn có thể xem thêm bài viết về xếp hạng trong báo cáo bằng Pivot table trong Excel:

Hướng dẫn cách xếp hạng trong báo cáo bằng Pivot Table


Hướng dẫn hàm rank trong python

Tác giả: duongquan211287

· · ·