반응형
7. 공분산과 상관계수
* 공분산(Covariance): 2개의 확률변수의 선형 관계를 나타내는 값
- cov > 0 : 관계있음
- cov = 0 : 관계없음
- cov < 0 : 관계없음
- cov가 0보다 클 경우에만 유의한 정보로 활용될 수 있다. 단, 관계의 강도를 알 수 없다.
* 상관계수(Correlation): 두 변수 사이의 통계적 관계를 표현하기 위해 특정한 상관관계의 정도를 수치적으로 나타낸 값
- 0 < corr < 1: 양의 상관관계
- corr = 0: 서로 독립적
- -1 < corr < 0 : 음의 상관관계
- 상관계수를 통해 관계의 강도를 측정할 수 있다.
ser1 = pd.Series(np.random.randint(50, size = 100))
ser2 = pd.Series(np.random.randint(100, size = 100))
ser1.cov(ser2) # -4.599393939393946, 관계 없음
ser1.corr(ser2) # -0.012250465122233078, 음의 상관관계
8. Hierarchical Indexing and Leveling
ser3 = pd.Series(np.random.randint(low = 0, high = 50, size = 9),
index=[['1분기','1분기','1분기','2분기','2분기','2분기','3분기', '3분기', '3분기'],
['개발','생산','인사','개발','총무','인사','연구','생산', '인사']])
'''
1분기 개발 19
생산 34
인사 26
2분기 개발 28
총무 16
인사 0
3분기 연구 48
생산 49
인사 22
dtype: int32
'''
ser3['2분기']
'''
개발 8
총무 25
인사 40
dtype: int32
'''
ser3[:, '인사']
'''
1분기 26
2분기 40
3분기 5
dtype: int32
'''
* 계층적 구조의 Series를 unstack() 메서드로 바꿔보면 return 값으로 DataFrame이 나온다.
ser3.unstack()
* 반대로 DataFrame을 stack() 메서드로 바꿔보면 return 값으로 층으로 쌓인 Series가 나온다.
df_tmp = ser3.unstack()
ser4 = df_tmp.stack()
ser4
'''
1분기 개발 19.0
생산 34.0
인사 26.0
2분기 개발 28.0
인사 0.0
총무 16.0
3분기 생산 49.0
연구 48.0
인사 22.0
dtype: float64
'''
9. Concatenation
* np.concatenate([합칠 배열들], axis = 0(default)): 행으로 쌓기
* np.concatenate([합칠 배열들], axis = 1): 열로 쌓기
a = np.arange(9).reshape(3, -1)
b = np.arange(9, 18).reshape(3, -1)
np.concatenate([a, b])
'''
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]])
'''
np.concatenate([a, b], axis = 1)
'''
array([[ 0, 1, 2, 9, 10, 11],
[ 3, 4, 5, 12, 13, 14],
[ 6, 7, 8, 15, 16, 17]])
'''
* pd.concat([합칠 Series], axis = 0(default))
c = pd.Series(np.random.randint(0, 10, 5))
d = pd.Series(np.random.randint(0, 10, 5))
pd.concat([c, d])
'''
0 3
1 6
2 6
3 4
4 4
0 8
1 1
2 4
3 5
4 2
dtype: int32
'''
* pd.concat([합칠 Series], axis = 1): Series를 열로 쌓기 => return DataFrame
pd.concat([c, d], axis = 1)
반응형
'프로그래밍' 카테고리의 다른 글
[Python] Data Aggregation (0) | 2021.05.09 |
---|---|
[Python] Data Manipulation (0) | 2021.05.07 |
[Python] Pandas Library 활용(DataFrame) (0) | 2021.05.06 |
[Python] Pandas Library 활용(Series)(1) (0) | 2021.05.05 |
[Python] NumPy Library 활용(2) (0) | 2021.05.05 |