※ 들어가기 전에...
Pandas 1.5.3 에서 Pandas 2.0으로 넘어가는 과도기이다.
그래서 해당 강의는 두 개의 버전을 번갈아 사용할 예정!
학습목표
1. Google Colab에서 Pandas 따라하기 (레벨 0)
2. Series
3. DataFrame 기초
4. DataFrame 활용
5. DataFrame 심화
6. 문자열 제어
7. DataFrame 재구성(Reshape)
8. DataFrame 결합(Concat)과 병합(Merge)
9. 시계열(날짜, 시간) 제어
스킬은 배움에 있어서 모든 것이 아니다!
분야에 대한 통찰력은 자신의 관심과 경험으로 쌓이는 것!
대규모 데이터를 다룰 때에는 memory를 신경써줘야 한다.
DataFrame : 2차원 구조
Series : 1차원 구조
pandas의 DataFrame에서는 인덱스가 꼭 숫자일 필요는 없다
database의 인덱스 또한 숫자일 필요는 없다
pandas에서 기술통계를 빠르게 확인할 수 있도록 지원하는 메소드 : `.describe()`
df.describe(include='all') : 문자열 데이터까지 포함해서 기술통계를 계산
NaN : 표현될 수 없거나 계산될 수 없음을 표현하는 값
체인형 : 소괄호로 묶는게 아니라 .을 사용해서 뒷쪽으로 메소드를 계속 이어붙이는 형태
# 기존 테이블에서 신장을 100만큼 늘린 시리즈로 교체하기
df_power['신장'] = df_power['신장'].apply(lambda x : x+100)
df_power.head()
아래와 같은 에러 문구가 뜰 수 있다.
별도의 작업을 할 때 별도의 데이터프레임을 만들지 않고 작업을 하면, 본래의 데이터에 문제가 생길 수 있기 때문에 별도의 데이터프레임을 만드는 것을 지향해야한다. 우리는 위의 코드처럼 신장을 100만큼 늘린 작업을 기존 테이블에 덮어쓰려고 했기 때문에 경고 문구가 뜬 것.
피벗 테이블(Pivot Table) 만들기
1. `ctrl + a` 로 테이블 전체를 선택한 후 [삽입] - [피봇 테이블] 클릭
[새 시트] 체크하고 [만들기] 클릭
2. 선수의 포지션 별 기술통계를 파악하고 싶은 경우 : [피봇 테이블 편집기]에서 '포지션'을 [열] 탭에 드래그한다.
3. 포지션별 신장에 대한 기술통계(ex. 평균)를 파악하고 싶은 경우 : '신장'을 [값] 탭에 드래그한 후, [요약 기준]을 'AVERAGE'로 변경 해준다.
3점슛에 대한 기술통계(ex. 평균)도 추가하고 싶은 경우 : '3점슛'을 [값] 탭에 드래그한 후, 마찬가지로 [요약 기준]을 'AVERAGE'로 변경 해준다. 값이 섞여있으므로 [값 방향]을 '행'으로 바꿔준다.