포스팅 목차
34. Display the average salary drawn by managers.
* 관리자에게 지급되는 평균 급여를 계산하시오.
- 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크
- [집계함수] 조건절을 만족하는 수치형 데이터 평균값 측정
|
1. 오라클(Oracle)
- 직무가 관리직 직원을 선택 후 평균 급여(sal)를 출력
Oracle Programming |
select avg(sal) as sal_avg
from emp
where job = 'MANAGER';
2. 파이썬(Pandas)
- mean()을 사용하여서 관리직 직원의 평균 급여를 계산
Python Programming |
(emp[emp['job'] == 'MANAGER']['sal']).mean()
Results |
2758.3333333333335
- Mean 함수
Python Programming |
emp.query(' job == "MANAGER" ')[['sal']].mean()
Results |
sal 2758.333333
dtype: float64
3. R Programming (R Package)
- colMeans() 를 사용하여서 평균 급여를 계산
R Programming |
%%R
## data.frame에 대하여 mean 함수 적용 안됨.
## class(emp[emp$job == 'MANAGER' , c("sal") ])
colMeans(emp[emp$job == 'MANAGER' , c("sal") ])
Results |
sal
2758.333
- ColMeans 함수
R Programming |
%%R
colMeans( subset(emp,subset= (job == 'MANAGER') , select=c(sal) ) )
Results |
sal
2758.333
4. R Dplyr Package
dplyr 패키지의 filter()를 사용하여서 관리직 직원을 선택 후 summarise(mean())를 사용하여서 평균 급여를 계산
R Programming |
%%R
emp %>% filter(job == 'MANAGER' ) %>% dplyr::summarise(avg_value = mean(sal))
Results |
# A tibble: 1 x 1
avg_value
<dbl>
1 2758.
5. R sqldf Package
- sqlite에서는 avg() 함수를 사용하여서 평균을 계산
R Programming |
%%R
sqldf("select avg(sal) from emp where job='MANAGER'")
Results |
avg(sal)
1 2758.333
6. Python pandasql Package
- Avg 함수
Python Programming |
ps.sqldf("select avg(sal) from emp where job='MANAGER' ")
Results |
avg(sal) | |
0 | 2758.333333 |
7. R data.table Package
Data.table 패키지에서는 mean()를 사용하여서 판매직 직원의 평균 급여를 계산
R Programming |
%%R
DT <- data.table(emp)
dept_DT <- data.table(dept)
DT[job == "MANAGER", .(`sal_mean` = mean(sal, na.rm = TRUE))]
Results |
sal_mean
1: 2758.333
8. SAS Proc SQL
- AVG 함수
SAS Programming |
%%SAS sas
PROC SQL;
CREATE TABLE STATSAS_1 AS
SELECT AVG(SAL) AS SAL_AVG
FROM EMP A
where job='MANAGER';
QUIT;
PROC PRINT;RUN;
Results |
OBS | SAL_AVG |
1 | 2758.33 |
9. SAS Data Step
- Proc summary 와 Mean
SAS Programming |
%%SAS sas
PROC SUMMARY DATA=EMP;
VAR SAL;
OUTPUT OUT=STATSAS_2(DROP=_:) MEAN=SAL_MEAN;
where job='MANAGER';
RUN;
PROC PRINT;RUN;
Results |
OBS | SAL_MEAN |
1 | 2758 |
10. Python Dfply Package
- Mean 함수
Python Programming |
emp >> filter_by( X.job=='MANAGER' ) >> summarize( sal_avg = X.sal.mean() )
Results |
sal_avg | |
0 | 2758.333333 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트
반응형
댓글