포스팅 목차
124. Display those employees whose salary is ODD value?
* 급여가 홀수인 직원을 출력하시오.
- 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크
- [수치형 함수] 나머지 반환 함수-Mod 함수
- 데이터 전처리 - SQL, Pandas, R Prog, Dplyr, Dfply, SQLDF, PANDASQL, DATA.TABLE, SAS, Proc Sql
|
1. Oracle(오라클)
오라클 함수 중에 홀수와 짝수를 확인하기 위한 별도의 함수는 존재하지 않기 때문에 Mod 함수를 통하여 홀수와 짝수를 구분할 수 있다.
이 문제에서 홀수인 급여를 수령하는 직원의 정보를 확인하기 위하여 mod 함수를 사용하여 급여를 2로 나눈 나머지가 1인 직원을 출력한다.
Oracle Programming |
select *
from emp
where mod(sal,2)=1;
2. Python Pandas(파이썬)
홀수인 급여를 수령하는 직원을 검색하기 위하여 급여를 2로 나눈 나머지가 1인 직원을 추출한다.
Python Programming |
emp[emp.sal % 2 == 1]
Results |
empno | ename | job | mgr | hiredate | sal | comm | deptno | |
3 | 7566 | JONES | MANAGER | 7839.0 | 1981/04/02 | 2975 | NaN | 20 |
3. R Programming (R Package)
홀수인 급여를 수령하는 직원을 검색하기 위하여 급여를 2로 나눈 나머지가 1인 직원을 추출한다.
R Programming |
%%R
emp[emp$sal %% 2 == 1, ]
Results |
# A tibble: 1 x 8
empno ename job mgr hiredate sal comm deptno
<dbl> <chr> <chr> <dbl> <date> <dbl> <dbl> <dbl>
1 7566 JONES MANAGER 7839 1981-04-02 2975 NA 20
홀수인 급여를 계산하기 위하여 numbers::mod() 함수를 사용하여 급여를 2로 나눈 나머지가 1인 직원을 출력한다.
R Programming |
%%R
library(numbers)
emp[numbers::mod(emp$sal,2) == 1, ]
Results |
# A tibble: 1 x 8
empno ename job mgr hiredate sal comm deptno
<dbl> <chr> <chr> <dbl> <date> <dbl> <dbl> <dbl>
1 7566 JONES MANAGER 7839 1981-04-02 2975 NA 20
4. R Dplyr Package
급여가 홀수인 직원을 검색하기 위하여 급여를 2로 나눈 나머지가 1인 직원을 추출한다.
R Programming |
%%R
emp %>% dplyr::filter(sal %% 2 == 1)
Results |
# A tibble: 1 x 8
empno ename job mgr hiredate sal comm deptno
<dbl> <chr> <chr> <dbl> <date> <dbl> <dbl> <dbl>
1 7566 JONES MANAGER 7839 1981-04-02 2975 NA 20
5. R sqldf Package
홀수인 급여를 계산하기 위하여 mod 함수를 사용하여 급여를 2로 나눈 나머지가 1인 직원을 출력한다.
R Programming |
%%R
sqldf("select * from emp where sal % 2 =1; ")
Results |
empno ename job mgr hiredate sal comm deptno
1 7566 JONES MANAGER 7839 1981-04-02 2975 NA 20
6. Python pandasql Package
홀수인 급여를 계산하기 위하여 mod 함수를 사용하여 급여를 2로 나눈 나머지가 1인 직원을 출력한다.
Python Programming |
ps.sqldf(" select * from emp where sal % 2 =1;")
Results |
empno | ename | job | mgr | hiredate | sal | comm | deptno | |
0 | 7566 | JONES | MANAGER | 7839.0 | 1981/04/02 | 2975 | None | 20 |
7. R data.table Package
홀수인 급여를 계산하기 위하여 mod 함수를 사용하여 급여를 2로 나눈 나머지가 1인 직원을 출력한다.
R Programming |
%%R
DT <- data.table(emp)
DT[ sal %% 2 == 1, ]
Results |
empno ename job mgr hiredate sal comm deptno
1: 7566 JONES MANAGER 7839 1981-04-02 2975 NA 20
8. SAS Proc SQL
홀수인 급여를 계산하기 위하여 mod 함수를 사용하여 급여를 2로 나눈 나머지가 1인 직원을 출력한다.
SAS Programming |
%%SAS sas
PROC SQL;
CREATE TABLE STATSAS_1 AS
select *
from emp
where mod(sal,2)=1;
QUIT;
PROC PRINT;RUN;
Results |
OBS | empno | ename | job | mgr | hiredate | sal | comm | deptno |
1 | 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | . | 20 |
9. SAS Data Step
SAS Programming |
%%SAS sas
DATA STATSAS_2;
SET EMP;
WHERE mod(sal,2)=1;
RUN;
PROC PRINT;RUN;
Results |
OBS | empno | ename | job | mgr | hiredate | sal | comm | deptno |
1 | 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | . | 20 |
10. Python Dfply Package
Python Programming |
emp >> filter_by(X.sal % 2 == 1)
Results |
empno | ename | job | mgr | hiredate | sal | comm | deptno | |
3 | 7566 | JONES | MANAGER | 7839.0 | 1981/04/02 | 2975 | NaN | 20 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 전처리 방법 리스트
댓글