Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- javascript
- 데이터베이스
- JPA
- baekjoon
- 데이터
- backjoon
- CS
- 스프링 부트 쇼핑몰 프로젝트 with JPA
- 스프링부트
- 자료구조
- Oracle
- 플러터
- spring
- 파이썬
- 시큐리티
- Flutter
- DB
- 네트워크
- Java
- 자바스크립트
- 스프링
- postgresql
- 백준
- CS지식
- Spring Security
- 프로그래머스
- 자바
- 리눅스
- python
- springboot
Archives
- Today
- Total
Jin's Dev Story
[Python] DataFrame 그룹 본문
데이터프레임 그룹 생성
- pandas의 groupby() 연산자를 사용하여 집단, 그룹별로 데이터를 집계 및 요약 할 수 있음
- dataframe을 지정한 그룹으로 나누고, 각 그룹별로 집계함수를 적용하고, 그룹별 집계 결과를 하나로 합치는 과정을 거침
abalone_src = base_src + '/abalone.data'
데이터 읽어오기
- header : none인 경우 헤더를 가져오지 않겠다는 의미
- sep : 어떤 구분자를 통해 데이터를 구분할 것인지
- names : 컬럼명
abalone_df = pd.read_csv(abalone_src, header=None, sep=',',names=['sex','length','diameter','height',
'whole_weight','shucked_weight','viscera_weight',
'shell_weight','rings'])
abalone_df
데이터 shape 확인
- row : 4177, column : 9
- 딥러닝(CNN) ⇒ 이미지 (데이터수, 가로, 세로, 색)
- 딥러닝(RNN) ⇒ 텍스트, 시게열 (데이터수, 시간, 세로)
- 데이터 행과 열이 얼마나 있는지 확인하기 위해 사용
# 데이터 shape를 확인
abalone_df.shape
데이터 결측값 확인
- isnull()만 있는 경우 불린 형태로 가져오기 때문에 sum() 같이 사용
- sum 한 번 사용 시
abalone_df.isnull().sum()
- sum 두 번 사용 시
abalone_df.isnull().sum()
결측치를 특정 값으로 채우기
- 0으로 채운 예제
# 결측치를 특정 값으로 채우기
zero_abalone_df = nan_abalone_df.fillna(0)
zero_abalone_df
- 평균 값으로 채운 예제
# 결측치를 결측치가 속한 컬럼의 평균값으로 대체하기
nan_abalone_df.mean()
nan_abalone_df.fillna(nan_abalone_df.mean())
기술 통계 확인
# 기술통계 확인 => 연속형 변수만 확인 가능 => numerical 변수만 확인 가능
abalone_df.describe()
집계
# 전복(abalone) 성별에 따라 groupby함수를 통해 집계하기
# DataFrame[집계 변수].groupby(DataFrame[집계 대상])
grouped = abalone_df['whole_weight'].groupby(abalone_df['sex'])
# 합계
grouped.sum()
grouped.mean()
# 개수
grouped.size()
성별에 따른 전체 변수에 대한 집계
# 그룹변수가 하나가 아닌, 전체 연속형 변수에 대한 집계
abalone_df.groupby(abalone_df['sex']).mean()
# 다음과 같이 간단하게 표현
abalone_df.groupby('sex').mean()
새로운 조건에 맞는 변수 추가
# 새로운 조건에 맞는 변수 추가
abalone_df['length_bool'] = np.where(abalone_df['length']>abalone_df['length'].median(),
'length_long', # True일 경우
'length_short') # False일 경우
그룹 변수 2개 이상 선택하여 총계 처리
# 그룹변수를 2개 이상 선택해서 총계 처리?
abalone_df.groupby(['sex', 'length_bool']).mean()
- 간결 표현
# 간결하게 표현 가능
abalone_df.groupby(['sex', 'length_bool'])['whole_weight'].mean()
'Programming Language > Python' 카테고리의 다른 글
[Python] Matplotlib과 Seaborn라이브러리를 활용한 데이터 시각화 (0) | 2024.06.13 |
---|---|
[Python] apply 함수 (0) | 2024.06.13 |
[Python] DataFrame (0) | 2024.06.13 |
[Python] iloc와 loc (0) | 2024.06.13 |
[Python] Pandase(판다스) (0) | 2024.06.13 |