1. 기본함수
round(1.23) # 스칼라에 대해서만 연산이 가능함
round([1.23, 2.45]) # 여러 개의 연산은 불가함(스칼라에 대해서만 연산 가능)
2. math / statistics 모듈 함수 / 메서드
import math
dir(math)
그러나 math.trunc([1.23, 2.45]) 또한 불가하다.
스칼라에 대해서만 연산이 가능하다.
기본이나 math 모듈에서 제공하는 함수들은 벡터 연산 기능을 가지고 있지 않다.
그래서 여러 개에 대한 동시 처리가 불가하다.
3. numpy / pandas 모듈 함수 / 메서드(벡터 연산 가능)
- 벡터 연산 가능
- 축 전달 가능(axis)
몇 개를 테스트 해보자.
그러나 pd.round(1.23)은 불가하다. pd에서는 round를 제공하지 않기 때문이다.
또한 np에서는 sum 함수가 제공이 되지만 pd에서는 sum 함수가 제공되지 않는다.
대신 pd에서는 sum 메서드를 제공하고 있다.
연습문제를 풀어보자.
emp.csv 파일을 열고,
1. YEAR 컬럼을 만들고 각 직원의 입사연도를 숫자로 저장하여라
먼저 각 컬럼의 type을 확인하였다.
2. 전체 SAL의 총 합 기준, 각 직원의 SAL의 부분비율을 출력하여라(%)
3. JOB 컬럼에서 MANAGER를 ANALYST로 변경하여라
색인으로도 문제를 풀어보았다.
4. SAL이 3000 이상인 직원의 COMM을 500으로 변경하여라
5. SMITH와 SCOTT의 이름, 입사연도, 급여를 출력하여라.
잘린 문장은 아래와 같다.
emp.loc[(emp['ENAME'] == 'SMITH') | (emp['ENAME'] == 'SCOTT') , ['ENAME', 'HIREDATE', 'SAL']]
또는 아래와 같이 풀 수 있다.
참고로 isin은 pandas의 포함연산자이다.
'배우기 > 복습노트[Python과 분석]' 카테고리의 다른 글
[복습] Python index object 수정(rename 메서드) (0) | 2024.01.16 |
---|---|
[실습문제] 2024. 1. 15.(월) (2문제) (0) | 2024.01.16 |
[복습] Python 형 변환 함수 / 메서드 (0) | 2024.01.15 |
[복습] Python 자료구조(3) (데이터프레임) (0) | 2024.01.15 |
[실습문제] 2024. 1. 12.(금) (2문제) (0) | 2024.01.15 |