본문 바로가기
통계프로그램 비교 시리즈/프로그래밍비교(Oracle,Python,R,SAS)

[데이터 전처리- 문자함수 예제] 문자 길이 합계 계산 - 67

by 기서무나구물 2021. 8. 27.

포스팅 목차

     

    67. Display the length of all employees’ names.

     

    * 모든 직원 이름의 길이 합계를 출력하라.


    • Oracle : length(), sum()
    • 파이썬 Pandas : .str.len(), .sum()
    • R 프로그래밍 : lapply(), stringr::str_length, sapply(), sum()
    • R Dplyr Package : stringr::str_length(), dplyr::summarise()
    • R sqldf Package : length(), sum()
    • Python pandasql Package : length(), sum()
    • R data.table Package : stringr::str_length(), sum()
    • SAS Proc SQL : length(), sum()
    • SAS Data Step : length() 함수, proc summary, 누적 합계
    • Python Dfply Package : mutate(), .str.len(), summarize(), .sum()
    • 파이썬 Base 프로그래밍 :

     


    1. Oracle(오라클)

    Sum 함수와 Length 함수를 사용하여서 사원 이름의 길이를 계산한다. 개별 사원명의 길이를 계산 후 모든 직원명에 대한 합계를 구한다.

    Oracle Programming
    select sum(length(ename)) ename_sumlen 
    from   emp;

     


    2. Python Pandas(파이썬)

    Sum 함수와 Len 함수를 사용하여서 사원 이름의 길이를 계산한다. 개별 사원명의 길이를 계산 후 모든 직원명에 대한 합계를 구한다.

    Python Programming
    import copy
    
    withmooc = copy.copy(emp)
    
    withmooc['ename'].str.len().sum()

     

    Results
    70

     


    3. R Programming (R Package)

    Sum 함수와 stringr::str_length 함수를 사용하여서 사원 이름의 길이를 계산한다. stringr::str_length 함수로 개별 사원명의 길이를 계산 후 모든 직원명에 대한 합계(Sum)를 구한다.

    R Programming
    %%R
    
    withmooc <- emp
    
    sum(sapply(withmooc['ename'],stringr::str_length ))

     

    Results
    [1] 70

     


    4. R Dplyr Package

    Sum 함수와 stringr::str_length 함수를 사용하여서 사원 이름의 길이를 계산한다. stringr::str_length 함수로 개별 사원명의 길이를 계산 후 모든 직원명에 대한 합계(Sum)를 구한다.

    R Programming
    %%R
    
    emp %>% 
      dplyr::mutate(ename_len = stringr::str_length (ename)) %>%
      dplyr::summarise(tot_len = sum(ename_len))

     

    Results
    # A tibble: 1 x 1
      tot_len
        <int>
    1      70

     


    5. R sqldf Package

    Sum 함수와 Length 함수를 사용하여서 사원 이름의 길이를 계산한다. Length 함수로 개별 사원명의 길이를 계산 후 모든 직원명에 대한 합계(Sum)를 구한다.

    R Programming
    %%R
    
    sqldf("select  sum(length(ename)) ename_sumlen from emp;")

     

    Results
      ename_sumlen
    1           70

     


    6. Python pandasql Package

    Sum 함수와 Length 함수를 사용하여서 사원 이름의 길이를 계산한다. 개별 사원명의 길이를 계산 후 모든 직원명에 대한 합계를 구한다.

    Python Programming
    ps.sqldf("select sum(length(ename)) ename_sumlen from emp;")

     

    Results
      ename_sumlen
    0 70

     


    7. R data.table Package

    Sum 함수와 stringr::str_length 함수를 사용하여서 사원 이름의 길이를 계산한다. stringr::str_length 함수로 개별 사원명의 길이를 계산 후 모든 직원명에 대한 합계(Sum)를 구한다.

    R Programming
    %%R
    
    DT <- data.table(emp)
    
    DT[, .('tot_len' = sum(stringr::str_length(ename), na.rm = TRUE))]

     

    Results
       tot_len
    1:      70

     


    8. SAS Proc SQL

    Sum 함수와 Length 함수를 사용하여서 사원 이름의 길이를 계산한다. 개별 사원명의 길이를 계산 후 모든 직원명에 대한 합계를 구한다.

    SAS Programming
    %%SAS sas
    
    PROC SQL;
      CREATE TABLE STATSAS_1 AS
        select  sum(length(ename)) as ename_totlen
        from emp;
    QUIT;
    PROC PRINT;RUN;

     

    Results
    OBS ename_totlen
    1 70

     


    9. SAS Data Step

     

    SAS Programming
    %%SAS sas
    
    DATA STATSAS_2; 
     SET emp;
         ename_len = length(ename);
         keep ename ename_len;
    RUN;
    
    proc summary data=STATSAS_2;
         var ename_len;
         output out=ename_totlen(drop=_:) sum=;
    
    PROC PRINT;RUN;

     

    Results
    OBS ename_len
    1 70

     

    SAS Programming
    %%SAS sas
    
    DATA STATSAS_3;
     SET emp nobs=N_obs;
         ename_len = length(ename);
         ename_totlen + ename_len;
         IF _N_ = N_obs THEN OUTPUT;
         keep ename ename_len ename_totlen;
    RUN;
    
    PROC PRINT;RUN;

     

    Results
    OBS ename ename_len ename_totlen
    1 MILLER 6 70

     


    10. Python Dfply Package

    Length 함수를 사용하여서 사원 이름의 길이를 계산한다. 개별 사원명의 길이를 계산 후 summarize() 함수를 사용하여서 모든 직원명에 대한 길이의 합계를 구한다.

    Python Programming
    emp >> mutate(ename_len = X.ename.str.len()) >> summarize( tot_len = X.ename_len.sum())

     

    Results
      tot_len
    0 70

     


     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트

     

    반응형

    댓글