본문 바로가기
통계프로그램 비교 시리즈/오라클함수 비교(R & Python)

ACOS Oracle Function [Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table]

by 기서무나구물 2021. 11. 18.

포스팅 목차

    * 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크


    ACOS 함수

     


    • 지정한 수치형 인수의 아크 코사인 값을 계산한다.

     


    1. Oracle(오라클)

    Oracle Programming
    SELECT ACOS(.3)"Arc_Cosine"
    FROM   DUAL;

     

    Results
                 Arc_Cosine
    1.2661036727794991112593187304122222822

     


    2. Python Pandas(파이썬)

    Python Programming
    import math
    math.acos(.3)

     

    Results
    1.2661036727794992

     


    Python Programming
    import math
    
    emp['sal'].apply(lambda x: math.acos(x/10000) ).head()

     

    Results
    0    1.490711
    1    1.410106
    2    1.445468
    3    1.268723
    4    1.445468
    Name: sal, dtype: float64

     


    3. R Programming (R Package)

    R Programming
    %%R
    
    acos(.3)

     

    Results
    [1] 1.266104

     


    R Programming
    %%R
    
    acos(emp$sal / 10000)

     

    Results
     [1] 1.490711 1.410106 1.445468 1.268723 1.445468 1.281790 1.323277 1.266104
     [9] 1.047198 1.420228 1.460573 1.475653 1.266104 1.440427

     

     


    4. R Dplyr Package

    R Programming
    %%R
    
    emp %>%
      dplyr::mutate(acos_val = acos(sal/10000)) %>%
      head()

     

    Results
    # A tibble: 6 x 9
      empno ename  job        mgr hiredate     sal  comm deptno acos_val
                          
    1  7369 SMITH  CLERK     7902 1980-12-17   800    NA     20     1.49
    2  7499 ALLEN  SALESMAN  7698 1981-02-20  1600   300     30     1.41
    3  7521 WARD   SALESMAN  7698 1981-02-22  1250   500     30     1.45
    4  7566 JONES  MANAGER   7839 1981-04-02  2975    NA     20     1.27
    5  7654 MARTIN SALESMAN  7698 1981-09-28  1250  1400     30     1.45
    6  7698 BLAKE  MANAGER   7839 1981-03-01  2850    NA     30     1.28

     


    5. R sqldf Package

    R Programming
    %%R
    
    sqldf(" SELECT ACOS(.3) Arc_Cosine ")

     

    Results
      Arc_Cosine
    1   1.266104

     


    R Programming
    %%R
    
    sqldf(" SELECT ACOS(sal/10000) Arc_Cosine from emp")  %>% head()

     

    Results
      Arc_Cosine
    1   1.490711
    2   1.410106
    3   1.445468
    4   1.268723
    5   1.445468
    6   1.281790

     

     


    6. Python pandasql Package

    • python의 pandasql에서 현재 버전에서 출력 안 됨.
    Python Programming
    ps.sqldf(" SELECT ACOS(.3) Arc_Cosine ")

     

    Python Programming
    ps.sqldf(" SELECT ACOS(sal/10000) Arc_Cosine from emp ")

     

     


    7. R data.table Package

    R Programming
    %%R
    
    DT          <- data.table(emp)
    dept_DT     <- data.table(dept)
    
    DT[, acos_val := acos(sal/10000)][0:5]

     

    Results
       empno  ename      job  mgr   hiredate  sal comm deptno acos_val
    1:  7369  SMITH    CLERK 7902 1980-12-17  800   NA     20 1.490711
    2:  7499  ALLEN SALESMAN 7698 1981-02-20 1600  300     30 1.410106
    3:  7521   WARD SALESMAN 7698 1981-02-22 1250  500     30 1.445468
    4:  7566  JONES  MANAGER 7839 1981-04-02 2975   NA     20 1.268723
    5:  7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400     30 1.445468

     


    8. Python Duckdb의 SQL

    •  
    Python Programming
    %%sql
      SELECT ACOS(.3) "Arc_Cosine"

     

    Python Programming
    duckdb.sql("SELECT ACOS(.3) Arc_Cosine").df()

     

    Results
          Arc_Cosine
    0	1.266104

     


     

    [Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table] 오라클 함수와 R & Python 비교 사전 목록 링크

     

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

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

    댓글