- 과거 내용
- DataFrame - 통계
1. 최대, 최소
#원본 데이터
col1 col2 col3
row1 1 2 3
row2 5 6 7
row3 10 9 8
#최대
print(df.max(axis=1))
row1 3
row2 7
row3 10
dtype: int64
#최소
print(df.min(axis=1))
row1 1
row2 5
row3 8
dtype: int64
max와 min 함수를 이용해 최대, 최소 값을 구할 수 있다.
axis로 행과 열 중 어떤 것을 선택할 지 정할 수 있다.
이외에도 skipna, level 등의 옵션이 있다.
2. 평균
#원본 데이터
col1 col2 col3
row1 1 2 3
row2 5 6 7
row3 10 9 8
#평균
print(df.mean(axis=1))
row1 2.0
row2 6.0
row3 9.0
dtype: float64
mean을 통해서 평균을 구할 수 있다. axis로 행과 열 중 선택할 수 있다.
이외에도 skipna, level 등의 옵션을 사용할 수 있다.
3. 중앙값
#원본 데이터
col1 col2 col3
row1 1 2 3
row2 5 6 7
row3 10 9 8
#중앙값
print(df.median())
col1 5.0
col2 6.0
col3 7.0
dtype: float64
median을 통해서 중앙값을 구할 수 있다.
역시 axis, skipna, level 등의 옵션을 사용할 수 있다.
4. 최빈값
#원본 데이터
col1 col2 col3
row1 1 2 3
row2 5 2 7
row3 10 9 8
#최빈값
print(df.mode())
col1 col2 col3
0 1 2.0 3
1 5 NaN 7
2 10 NaN 8
mode를 사용해서 최빈값을 찾을 수 있다.
dropna, numeric_only 의 옵션을 사용해서
최빈값에 포함할 데이터를 선택할 수 있다.
5. 표준편차
#원본 데이터
col1 col2 col3
row1 1 2 3
row2 5 2 7
row3 10 9 8
#표준편차
print(df.std())
col1 4.509250
col2 4.041452
col3 2.645751
dtype: float64
std를 사용해서 표준편차를 구할 수 있다.
추가로 level, skipna, axis 옵션을 사용할 수 있다.
더불어 ddof를 사용해서 자유도를 설정하고
표본표준편차를 구할 수 있다.
6. 분산
#원본 데이터
col1 col2 col3
row1 1 2 3
row2 5 2 7
row3 10 9 8
#분산
print(df.var())
col1 20.333333
col2 16.333333
col3 7.000000
dtype: float64
var를 사용해서 분산을 구할 수 있다.
표준편차와 마찬가지로 level, skipna, axis, ddof 등의
옵션을 사용할 수 있다.
7. 평균절대편차
#원본 데이터
col1 col2 col3
row1 1 2 3
row2 5 2 7
row3 10 9 8
#평균절대편차
print(df.mad())
col1 3.111111
col2 3.111111
col3 2.000000
dtype: float64
mad를 사용해서 평균절대편차를 구할 수 있다.
평균절대편차란 각 측정값과 평균 사이의 거리의 평균을 말한다.
axis, skipna, level 등의 옵션을 사용할 수 있다.
8. 누적최대, 최소
#원본 데이터
col1 col2 col3
row1 7 5 3
row2 5 2 7
row3 10 9 8
#누적 최대
print(df.cummax())
col1 col2 col3
row1 7 5 3
row2 7 5 7
row3 10 9 8
#누적 최소
print(df.cummin())
col1 col2 col3
row1 7 5 3
row2 5 2 3
row3 5 2 3
누적 최대는 cummax, 누적 최소는 cummin을 사용한다.
axis와 skipna 등의 옵션을 사용할 수 있다.
9. 누적합, 누적곱
#원본 데이터
col1 col2 col3
row1 7 5 3
row2 5 2 7
row3 10 9 8
#누적합
print(df.cumsum())
col1 col2 col3
row1 7 5 3
row2 12 7 10
row3 22 16 18
#누적곱
print(df.cumprod())
col1 col2 col3
row1 7 5 3
row2 35 10 21
row3 350 90 168
누적합은 cumsum을 통해, 누적곱은 cumprod를 통해 구할 수 있다.
axis, skipna 등의 옵션을 사용할 수 있다.
10. 분위수
#원본 데이터
col1 col2 col3
row1 7 5 3
row2 5 2 7
row3 10 9 8
#분위수
print(df.quantile(q=0.5))
col1 7.0
col2 5.0
col3 7.0
Name: 0.5, dtype: float64
quantile을 통해 분위수를 구할 수 있다.
특히 옵션 중에 interpolation으로 분위수가 없는 값이라면
어떤 수를 출력할 지 정할 수 있다.
이외에도 axis, numeric_only 등의 옵션을 사용할 수 있다.
'프로그래밍 > 파이썬' 카테고리의 다른 글
EDA - 1단계 : 데이터 다루기 - 시간 (1) | 2023.07.20 |
---|---|
EDA - 1단계 : 데이터 다루기 - 통계(2) (2) | 2023.07.19 |
EDA - 1단계 : 데이터 다루기 - 축, 레이블 (3) | 2023.07.17 |
EDA - 1단계 : 데이터 다루기 - 확인 (1) | 2023.07.16 |
EDA - 1단계 : 데이터 다루기 - 정보 (1) | 2023.07.15 |