Gấu trúc Python - Chức năng thống kê

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ê, chúng ta có thể áp dụng trên các đối tượng Pandas.

Phần trăm thay đổi

Series, DatFrames và Panel, tất cả đều có chức năng 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()

Nó là output như sau -

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 một cách khôn ngoan, thì hãy sử dụngaxis=1() tranh luận.

Hiệp phương sai

Hiệp phương sai được áp dụng trên dữ liệu chuỗi. Đố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 chuỗi. NA sẽ tự động bị loại trừ.

Dòng Cov

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)

Nó là output như sau -

-0.12978405324

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()

Nó là output như sau -

-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

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

Tương quan

Tương quan cho thấy mối quan hệ tuyến tính giữa hai mảng giá trị (chuỗi) 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()

Nó là output như sau -

-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 số trong DataFrame, thì cột đó sẽ tự động bị loại trừ.

Xếp hạng dữ liệu

Xếp hạng Dữ liệu 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()

Nó là output như sau -

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

Xếp hạng tùy chọn nhận một tham số tăng dần theo mặc định là đúng; khi sai, 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.

Xếp hạng hỗ trợ các phương pháp ràng buộc khác nhau, được chỉ định bằng tham số phương thức -

  • 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