DevSSOM
파이썬 pandas - 데이터프레임 분석용 함수 본문
반응형
집계함수
집계함수는 많은 데이터 값을 입력으로 받아 이를 요약하는 하나의 값을 반환하는 기능을 하는데, count(), max(), min(), sum(), mean() 등의 함수들을 위와 같은 집계함수라고 함.
- df.count()
count 메소드를 활용해서 데이터 개수를 확인할 수 있음 (디폴트는 NaN값 제외)
data = {
'korean' : [50, 60, 70],
'math' : [10, np.nan, 40]
}
df = pd.DataFrame(data, index = ['a', 'b', 'c'])
# df 결과값
korean math
a 50 10.0
b 60 NaN
c 70 40.0
# 각 컬럼별 데이터 개수
df.count(axis = 0) # 열 기준으로 카운트
# 결과값
korean 3
math 2
dtype: int64
# 각 행별 데이터 개수
df.count(axis = 1) # 행 기준으로 카운트
# 결과값
a 2
b 1
c 2
dtype: int64
- df.max() & df.min()
max, min 메소드를 활용해서 최대값과 최소값을 확인할 수 있음 (디폴트는 열 기준, NaN값 제외). 결과값은 float 실수형으로 나오게 됨.
data = {
'korean' : [50, 60, 70],
'math' : [10, np.nan, 40]
}
df = pd.DataFrame(data, index = ['a', 'b', 'c'])
# 데이터프레임
korean math
a 50 10.0
b 60 NaN
c 70 40.0
# 각 컬럼별 최댓값
df.max()
# 결과값
korean 70.0
math 40.0
dtype: float64
# 각 컬럼별 최소값
df.min()
# 결과값
korean 50.0
math 10.0
dtype: float64
-df.sum() & df.mean()
sum, mean 메소드를 활용해서 합계와 평균을 계산을 할 수 있음 (디폴트는 열 기준, NaN값 제외). 결과값은 float 실수형으로 나오게 됨.
data = {
'korean' : [50, 60, 70],
'math' : [10, np.nan, 40]
}
df = pd.DataFrame(data, index = ['a', 'b', 'c'])
# 데이터프레임
korean math
a 50 10.0
b 60 NaN
c 70 40.0
# 각 컬럼별 합계
df.sum()
# 결과값
korean 180.0
math 50.0
dtype: float64
# 각 컬럼별 평균
df.mean()
# 결과값
korean math
a 50 None
b 60 None
c 70 None
axis, skipna 인자를 활용할 수 있음.
- axis = 0 이면 기본값으로 열 기준으로 계산, axis = 1이면 행을 기준으로 계산.
- skipna = True 이면 기본값으로 NaN값들은 계산에서 스킵하고 없는 셈으로 침.
- skipna = False 이면 (1) NaN값이 존재하는 컬럼의 평균을 구해서 (2) NaN값으로 대체함 (fillna() 함수 사용).
data = {
'korean' : [50, 60, 70],
'math' : [10, np.nan, 40]
}
df = pd.DataFrame(data, index = ['a', 'b', 'c'])
# 데이터프레임
korean math
a 50 10.0
b 60 NaN
c 70 40.0
# 각 행기준 합계
df.sum(axis = 1)
# 결과값
a 60.0
b 60.0
c 110.0
dtype: float64
# 컬럼의 평균값으로 NaN값 대체해서 평균 구하기
# (1) NaN값이 있는 컬럼의 평균 구하기
B_avg = df['math'].mean()
print(B_avg) # 25.0
# (2) NaN값 대체
df['math'] = df['math'].fillna(B_avg)
# (3) 대체된 NaN값으로 각 컬럼별 평균 구하기
df.mean(axis = 1, skipna = False) # 행 기준 평균, NaN 값이 있으면 무시 X
# 결과값
a 30.0
b 35.0
c 55.0
dtype: float64
728x90
반응형
'Python > 기초' 카테고리의 다른 글
파이썬 pandas - groupby 함수로 그룹으로 묶기 (0) | 2021.07.26 |
---|---|
파이썬 pandas - 데이터프레임 정렬하기 (0) | 2021.07.26 |
파이썬 pandas - 데이터프레임의 데이터 선택, 추가, 수정하기 (0) | 2021.07.26 |
파이썬 pandas - 데이터프레임 (1) | 2021.07.26 |
파이썬 pandas - Series 데이터 (0) | 2021.07.26 |
파이썬 Numpy - 배열의 인덱싱과 슬라이싱 (0) | 2021.07.26 |
파이썬 Numpy - 배열의 기초 (0) | 2021.07.26 |
댓글