성동2기 전Z전능 데이터 분석가 18일차 [numpy, pandas_01]

2024. 6. 10. 19:12데이터분석 기술블로그

데이터분석 기초 이해

head() : 데이터의 앞부분 출력

tail() : 데이터의 뒷부분 출력

shape() : 데이터의 행, 열 개수 출력

info() : 변수 속성 출력

- non-null count : null(누락된 값)을 제외하고 구한 값의 개수

- dtype(변수속성) : int64(정수), float(실수), object(문자), datetime64(날짜 시간)

 

describe() : 요약 통계량 출력 


데이터 프레임으로 실습

데이터 프레임 만들기

(좌)데이터프레임 컬럼 변수명 var1,var2 / (우)변수명을 var2를 v2로 변경 후 출력
(좌) mpg데이터 불러오고 앞부분 출력 / (우) 변수명 바꾸고 변수명에 대한 모든 요약 통계 확인하기(include)

 

*데이터 프레임을 복사할 때 df.copy()를 사용하는 이유

df_new = df_raw와 같이 작성하면 df_new와 df_raw는 이름만 다를 뿐 한 몸 처럼 항상 같은 값을 갖게 됨. 어느 한쪽을 수정하면 다른 한쪽도 수정되므로, 복사본을 수정해도 원본은 영향을 받지 않도록 df.copy()를 사용

 


파생 변수(derived variable)

파생 변수는 기존의 변수를 변형하여 만든 변수이다. 가령 아래에서 데이터프레임의 열(column) var1, var2를 활용해서 총합을 나타내는 열인 var_sum, 평균을 나타내는 var_mean 같은 파생변수를 추가할 수 있다.

(좌) 기존 데이터 프레임 / (중앙) var1과 var2의 총합인 var_sum 파생변수 추가 / (우) var1과 var2의 평균인 var_mean 파생변수 추가

 

[조건문을 활용해 파생변수 만들기]

 

1. 기준값 정하기

total 요약 확인

 

2. 합격 판정 변수 만들기

파생변수 test에 Pass/Fail 출력

 

3. 빈도표로 합격 판정 자동차 수 살펴보기 

빈도표 숫자 값 출력

 

4. 막대그래프로 빈도 표현하기 

원랜 pass, fail 문자가 세로로 되어 있었는데 (rot = 0)으로 돌림

 

[중첩 조건문 활용하기]

 

1. 연비등급 변수 만들기

연비 등급에 관한 변수'grade'를 만들고 조건문으로 등급 출력

 

 

2. 빈도표와 막대 그래프로 연비 등급 살펴보기

(좌) 빈도표, 그래프를 생성했지만 문자 순서가 뒤죽박죽 / (우) .sort_index메소드 추가하여, 문자 순서 정렬

 

 

*메소드 체이닝(method chaining)

.을 이용해 메소드를 계속 이어서 작성하는 방법 (ex. mpg['grade'].value_counts().sort_index()) 변수에 여러 메소드를 순서대로 적용한다. 출력 결과를 변수에 할당하고 다시 불러오는 작업을 반복하지 않아도 된다.

 

필요한 만큼 범주 만들기 : 범주의 수 -1

이해도 보충 필요

 

목록에 해당하는 행으로 변수 만들기 

- category에서 compact, subcompact, 2seater는 스몰 아니면 라지라는 뜻 (확인필요)

- np.where()에 여러 조건 입력할 때 각 조건에 괄호 입력 주의

버티컬 바 '❘' 는 or을 의미하는 기호
위 코드의 간단 버전. df.isin을 사용함

 

정리하기