포스팅 목차
* 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크
ASIN 함수
ASIN(n)은 n의 역사인(arc sine) 값을 반환한다.
인수 n은 -1 ~ 1의 범위이고, 반환값은 라디안으로 표현되는 -pi/2~pi/2의 범위 값이다.
- 함수 설명 : ASIN 오라클 함수 링크
1. Oracle(오라클)
Oracle Programming |
SELECT ASIN(.3) "Arc_Sine"
FROM DUAL;
Results |
Arc_Sine
.3046926540153975079720029612275291599
2. Python Pandas(파이썬)
Python Programming |
import math
math.asin(.3)
Results |
0.3046926540153975
- 수치형 목록 예제
Python Programming |
emp.sal.apply(lambda x: math.asin(x/10000)).head()
Results |
0 0.080086
1 0.160691
2 0.125328
3 0.302073
4 0.125328
Name: sal, dtype: float64
3. R Programming (R Package)
R Programming |
%%R
asin(.3)
Results |
[1] 0.3046927
- 수치형 목록 예제
R Programming |
%%R
asin(emp$sal/10000)
Results |
[1] 0.08008558 0.16069065 0.12532783 0.30207302 0.12532783 0.28900643
[7] 0.24751969 0.30469265 0.52359878 0.15056827 0.11022305 0.09514348
[13] 0.30469265 0.13036898
4. R Dplyr Package
R Programming |
%%R
emp %>%
dplyr::mutate(sal_asin = asin(sal / 10000)) %>%
head()
Results |
# A tibble: 6 x 9
empno ename job mgr hiredate sal comm deptno sal_asin
1 7369 SMITH CLERK 7902 1980-12-17 800 NA 20 0.0801
2 7499 ALLEN SALESMAN 7698 1981-02-20 1600 300 30 0.161
3 7521 WARD SALESMAN 7698 1981-02-22 1250 500 30 0.125
4 7566 JONES MANAGER 7839 1981-04-02 2975 NA 20 0.302
5 7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400 30 0.125
6 7698 BLAKE MANAGER 7839 1981-03-01 2850 NA 30 0.289
5. R sqldf Package
- Contributed Files : https://www.sqlite.org/contrib?orderby=name
R Programming |
%%R
sqldf("select asin(.3) Arc_Sine ")
Results |
Arc_Sine
1 0.3046927
- 수치형 목록 예제
R Programming |
%%R
sqldf("select asin(sal / 10000) Arc_Sine from emp ")[1:5,]
Results |
[1] 0.08008558 0.16069065 0.12532783 0.30207302 0.12532783
6. Python pandasql Package
Python Programming |
ps.sqldf(" select sin(.3) ")
Python Programming |
import pandasql as ps
var = math.asin(.3)
query = "SELECT {} ".format(var)
ps.sqldf(query, globals())
Results |
0.3046926540153975
0 0.304693
7. R data.table Package
R Programming |
%%R
DT <- data.table(emp)
DT[, sal_asin := asin(sal / 10000)][1:5,]
Results |
empno ename job mgr hiredate sal comm deptno sal_asin
1: 7369 SMITH CLERK 7902 1980-12-17 800 NA 20 0.08008558
2: 7499 ALLEN SALESMAN 7698 1981-02-20 1600 300 30 0.16069065
3: 7521 WARD SALESMAN 7698 1981-02-22 1250 500 30 0.12532783
4: 7566 JONES MANAGER 7839 1981-04-02 2975 NA 20 0.30207302
5: 7654 MARTIN SALESMAN 7698 1981-09-28 1250 1400 30 0.12532783
8. Python Duckdb의 SQL
Python Programming |
%%sql
SELECT ASIN(.3) "Arc_Sine"
Python Programming |
print(duckdb.sql(" SELECT ASIN(.3) Arc_Sine ").df() )
Results |
Arc_Sine
0 0.304693
--------------------------------------------
[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 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 링크 |
반응형
댓글