반응형
제로베이스 데이터 분석 스쿨 내용에 대한 기록이다.
10번째도 파이썬 분석 기초 강의이다.
[grouping]
- 빈도수 출력
- value_counts 함수 사용
- size 함수도 동일 기능
- df_ans = df.host_name.value_counts().sort_index()
- null을 세지 않으니 주의
- null도 세고 싶을 경우 dropna=True
- 컬럼 2개를 기준으로 빈도수 출력
- groupby 사용
- df_ans = df.groupby(['col1','col2'], as_index=False).size()
- 그룹별 특정 값의 기초통계 값
- agg 함수 사용
- df_ans = df.groupby('col1')['col2'].agg(['mean','var','max','min'])
- 피벗 테이블
- unstack 함수 사용
- df_ans = df.groupby(['col1', 'col2']).price.mean().unstack()
[Apply와 Map]
- 매핑이 간단하면 map-람다 사용
- 조건이 복잡해지면 함수 선언하고 apply 사용
- 딕셔너리로 매핑
- map 함수 사용
- 람다함수 사용
- df['mapped_col'] = df.col1.map(lambda x: dic[x])
- apply 함수 사용
- 함수 하나 선언해서 사용하는 것
- df['mapped_col'] =df.col1.apply(changeCategory)
- 구간 컬럼 정의 후 카운트
- 매핑 후 카운트
- df['ages'] = df.col1.map(lambda x: x//10 *10)
- df_ans = df['ages'].value_counts().sort_index()
[Time series]
- 시계열 데이터 다루기
- 타입 조회 시 datetime64로 표시
- 스트링에서 datetime 타입으로 변경
- to_datetime 함수 사용
- df.col1 = pd.to_datetime(df.col1)
- 년도의 유니크값 모두 출력
- dt.year 함수 사용
- unique 함수도 사용
- df_ans = df.col1.dt.year.unique()
- 요일별로 매핑
- 월요일:0 ~ 일요일:6
- dt.weekday 함수 사용
- df['weekday'] = df.col1.dt.weekday
- 년도-월 기준으로 평균값
- 1995-11 처럼 형태 변경
- dt.to_period('M') 함수 사용
- df_ans = df.groupby(df.col1.dt.to_period('M')).mean(numeric_only=True)
- 일주일 간격 이동평균
- rolling 함수 사용
- 데이터 개수 적어서 간격 설정 가능
- df_ans= df[['RPT','VAL']].rolling(7).mean()
- 영어 요일 나타내기
- dt.day_name 함수 사용
- df['weekday'] = df.col1.dt.day_name()
반응형
'데이터분석 교육 (제로베이스)' 카테고리의 다른 글
[스터디 노트] 12번째 파이썬 분석 기초 (240926), 제로베이스 데이터 분석 스쿨 내용 (1) | 2024.09.26 |
---|---|
[스터디 노트] 11번째 파이썬 분석 기초 (240925), 제로베이스 데이터 분석 스쿨 내용 (2) | 2024.09.26 |
[스터디 노트] 9번째 파이썬 분석 기초 (240919), 제로베이스 데이터 분석 스쿨 내용 (0) | 2024.09.19 |
[스터디 노트] 8번째 git (240918), 제로베이스 데이터 분석 스쿨 내용 (0) | 2024.09.18 |
[스터디 노트] 7번째 git (240916), 제로베이스 데이터 분석 스쿨 내용 (1) | 2024.09.16 |