KPMG Future Academy AI 활용 데이터 분석가 3기 33일차 수업을 2025년 1월 3일에 참석했다.
sum(), mean(), max(), min(), count() 메소드

sum()합계. array로 나옴


그룹별 집계하기; groupby()함수

타이타닉 생존자 데이터
불러오기

승객ID를 문자형으로 바꾸기

클래스별 탑승객수

값의 유니크한 갯수 확인

합계

평균

최대, 최소값

표준편차

분산

특정 열만 집계


다중 그룹


데이터프레임으로 출력

as_index=False인 경우

집계 결과를 새로운 데이터프레임으로 선언하는 것이 편의상 좋음.


matplotlib

Jupyter Notebook에서 그래프를 더 선명하게 표시하기 위한 설정
%config InlineBackend.figure_format = 'retina'


선 그래프


히스토그램

bins = 데이터 구간을 n개로 나눔
alpha = 막대의 투명도
edgecolor = 막대의 아웃라인
여러 열 집계



평균 집계


최대값 집계

최소값 집계

개수 집계

agg 메소드로 열 하나에 대한 집계 한번에 수행

여러 열에 대해 여러 집계 한번에 수행

여러 열에 대해 각 열마다 다른 집계를 수행

실습
pandas 라이브러리에서 Axes 객체를 활용하지 않고 plot 메소드를 통해 간단한 차트를 그린 사례

matplotlib 라이브러리를 호출한 후 Axes 객체의 show 메소드를 사용하여 차트를 상세히 그린 사례

자주 쓰이는 라이브러리는 공식 홈페이지에서 메소드 및 객체 구조를 확인해두는 것이 좋을 것 같다.
전체 학생수 대비 합격 학생수를 구한 뒤 합격율을 구하여 이를 rank별로 표시.

pandas의 plot 메소드는 기본적으로 x축 값이 숫자일 경우, 그 값을 그대로 사용함
일부 열 이름 변경

모든 열 이름 변경

열 추가

insert()로 열 추가

isin 조건 메소드로 값 변경

열 삭제
삭제는 조심히 할 것.
열 하나 삭제

여러 열 삭제

map 메소드로 값 바꾸기

값 변경

replace 메소드는 맵핑이 안 되면 데이터를 그대로 둠. map은 맵핑이 안 되면 결측치가 됨.


범주값 만들기

cut 함수

my_bin과 my_label의 범위 개수가 같아야한다.

문제 1



문제 2



처음에 아래와 같이 코드를 짜서 틀렸다.

먼저 범위를 특정 열로 한정한 뒤에 groupby로 조건화를 했기 때문에 옳은 답을 얻을 수 없다.
나는 tip['total_bill'] 코드란: 불러올 값을 그 열로 한정한다는 의미가 아니라, 그 열이기도 하고, groupby의 조건과 겹치기도 하는 값을 구할 수 있을 줄 알고 그렇게 썼으나, 파이썬에게는 해당되지 않는다. 즉, 파이썬에서는 객체화하지 않고 동시에 명령할 수 없다.
이 부분이 나에게는 다소 stubborn하게 느껴진다. 데이터의 임의 범주를 굳이 객체화할 필요없이 가정하여 명령하는 것이 더 유연할 것이다.
객체 지향형 말고 절차적 또는 함수형 패러다임을 따르는 언어로는 C, C++, Go, JavaScript, Rust 등이 있다.
동시성 측면에서는 Go, Erlang, Rust, JavaScript(Node.js), C 등의 언어들이 효율적이며 객체 지향 개념을 사용하지 않고 동시 작업을 다룰 수 있다.
qcut 함수


실습
titanic 연령 그룹별 생존율 구하기

결측치란?
즉 결측치는 정확한 분석을 방해한다.
결측치를 만나면 오류가 발생하는 함수도 있다.
결측치 처리가 중요한 이유는?
결측치 확인

isnull(), notnull() 메소드 사용
isnull()


notna(), notnull()

결측치 비율

결측치 제거
결측치 있는 행 제거

subset으로 특정 열에서 결측치 있는 행 제거

결측치 있는 열 제거

결측치 채우기
해당 열의 평균값으로 채우기

특정값으로 채우기

직전 행의 값 또는 바로 다음 행의 값으로 채우기
바로 앞이나 바로 뒤의 값이 결측치면 결측치가 채워짐
값이 맨앞이거나 맨뒤인 경우 채워지지 않음

라이브러리 업데이트 경고 등 무시하기

선형보간법으로 채우기

가변수(Dummy Variable) 만들기