포스팅 목차
* 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크
[ ATAN2 함수 ]
ATAN2(n,m)은 atan2(n/m)과 같으며, n/m의 역탄젠트(arc tangent)값을 반환한다.
인수 n은 범위가 제한이 없고, n과 m의 부호에 의존하는 -pi~pi(라디안)의 범위 값을 반환한다. ATAN2(n,m)은 ATAN(n/m)과 같은 표현이다.
- 함수설명 : ATAN2 오라클 함수 링크
1. Oracle(오라클)
Oracle Programming |
SELECT ATAN2(.3, .2) "Arc_Tangent2"
FROM DUAL;
Results |
Arc_Tangent2
.9827937232473290679857106110146660144997
2. Python Pandas(파이썬)
Python Programming |
math.atan2(.3, 0.2)
Results |
0.982793723247329
수치형 목록 예제
Python Programming |
emp.sal.apply(lambda x : math.atan2(x, 0.2) ).head()
Results |
0 1.570546
1 1.570671
2 1.570636
3 1.570729
4 1.570636
Name: sal, dtype: float64
3. R Programming (R Package)
R Programming |
%%R
atan2(.3, 0.2)
Results |
[1] 0.9827937
수치형 목록 예제
R Programming |
%%R
atan2(emp$sal, 0.2)
Results |
[1] 1.570546 1.570671 1.570636 1.570729 1.570636 1.570726 1.570715 1.570730
[9] 1.570756 1.570663 1.570615 1.570586 1.570730 1.570642
4. R Dplyr Package
R Programming |
%%R
emp %>%
dplyr::mutate(sal_atan2 = atan2(sal , 0.2)) %>%
head()
Results |
# A tibble: 6 x 9
empno ename job mgr hiredate sal comm deptno sal_atan2
1 7369 SMITH CLERK 7902 1980-12-17 800 NA 20 1.57
2 7499 ALLEN SALESMAN 7698 1981-02-20 1600 300 30 1.57
3 7521 WARD SALESMAN 7698 1981-02-22 1250 500 30 1.57
4 7566 JONES MANAGER 7839 1981-04-02 2975 NA 20 1.57
5 7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400 30 1.57
6 7698 BLAKE MANAGER 7839 1981-03-01 2850 NA 30 1.57
5. R sqldf Package
- Contributed Files : https://www.sqlite.org/contrib?orderby=name
R Programming |
%%R
sqldf("select atan2(.3, 0.2) Arc_Tangent ")
Results |
Arc_Tangent
1 0.9827937
수치형 목록 예제
R Programming |
%%R
sqldf("select atan2(sal, 0.2) Arc_Tangent from emp")[1:5, ]
Results |
[1] 1.570546 1.570671 1.570636 1.570729 1.570636
6. Python pandasql Package
Python Programming |
ps.sqldf(" select atan2(.3, 0.2) ")
Python Programming |
import pandasql as ps
var = math.atan2(.3, 0.2)
query = "SELECT {} ".format(var)
ps.sqldf(query, globals())
Results |
0.982793723247329
0 0.982794
7. R data.table Package
R Programming |
%%R
DT <- data.table(emp)
DT[, sal_atan2 := atan2(sal , 0.2)][1:5,]
Results |
empno ename job mgr hiredate sal comm deptno sal_atan2
1: 7369 SMITH CLERK 7902 1980-12-17 800 NA 20 1.570546
2: 7499 ALLEN SALESMAN 7698 1981-02-20 1600 300 30 1.570671
3: 7521 WARD SALESMAN 7698 1981-02-22 1250 500 30 1.570636
4: 7566 JONES MANAGER 7839 1981-04-02 2975 NA 20 1.570729
5: 7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400 30 1.570636
8. Python DuckDB의 SQL
Python Programming |
%%sql
SELECT ATAN2(.3, .2) "Arc_Tangent2"
Python Programming |
duckdb.sql(" SELECT ATAN2(.3, .2) Arc_Tangent2 ").df()
Results |
Arc_Tangent2
0 0.982794
--------------------------------------------
[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 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 링크 |
반응형
댓글