Python Pandas-통계 함수
통계적 방법은 데이터의 동작을 이해하고 분석하는 데 도움이됩니다. 이제 Pandas 객체에 적용 할 수있는 몇 가지 통계 함수를 배웁니다.
Percent_change
시리즈, DatFrames 및 패널에는 모두 기능이 있습니다. pct_change(). 이 함수는 모든 요소를 이전 요소와 비교하고 변경 비율을 계산합니다.
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()
이것의 output 다음과 같습니다-
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
기본적으로 pct_change()열에서 작동합니다. 동일한 행을 현명하게 적용하려면axis=1() 논의.
공분산
공분산은 계열 데이터에 적용됩니다. Series 객체에는 계열 객체 간의 공분산을 계산하는 cov 메서드가 있습니다. NA는 자동으로 제외됩니다.
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)
이것의 output 다음과 같습니다-
-0.12978405324
DataFrame에 적용될 때 공분산 방법은 다음을 계산합니다. cov 모든 열 사이.
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()
이것의 output 다음과 같습니다-
-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 − 관찰 cov 중에서 a 과 b 첫 번째 명령문의 열과 동일한 값이 DataFrame의 cov에서 반환하는 값입니다.
상관 관계
상관 관계는 두 값 배열 (계열) 간의 선형 관계를 보여줍니다. pearson (기본값), spearman 및 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()
이것의 output 다음과 같습니다-
-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
DataFrame에 숫자가 아닌 열이 있으면 자동으로 제외됩니다.
데이터 랭킹
데이터 순위는 요소 배열의 각 요소에 대한 순위를 생성합니다. 동점 인 경우 평균 순위를 할당합니다.
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()
이것의 output 다음과 같습니다-
a 1.0
b 3.5
c 2.0
d 3.5
e 5.0
dtype: float64
Rank는 기본적으로 true 인 오름차순 매개 변수를 선택적으로 취합니다. false이면 데이터의 순위가 반대로 지정되고 값이 클수록 더 작은 순위가 할당됩니다.
Rank는 method 매개 변수로 지정된 다른 타이 브레이킹 방법을 지원합니다.
average − 동점 그룹의 평균 순위
min − 그룹에서 가장 낮은 순위
max − 그룹에서 가장 높은 순위
first − 배열에 나타나는 순서대로 할당 된 순위