포스팅 목차
14. Display current date.
- 오늘 날짜를 출력하시오.
- 파이썬 & R 패키지 호출 및 예제 데이터 생성 링크
- [데이터 필터] 현재 날짜를 출력하기 위한 다양한 방법 구현
|
1. 오라클(Oracle)
Sysdate 함수를 사용하여서 현재 일자를 반환한다.
Oracle Programming |
select sysdate now_day,
to_char(sysdate,'yyyymmdd') as now_day1
from dual;
2. 파이썬(Pandas)
현재 일자를 반환한다.
Python Programming |
import datetime
datetime.datetime.now()
Results |
datetime.datetime(2020, 11, 14, 8, 34, 37, 842173)
Python Programming |
datetime.datetime.today()
datetime.datetime(2020, 11, 14, 8, 34, 38, 451218)
Python Programming |
import time
time.strftime('%Y-%m-%d', time.localtime(time.time()))
Results |
'2020-11-14'
3. R Programming (R Package)
Sys.Date() 함수를 사용하여서 현재 일자를 반환한다.
R Programming |
%%R
Sys.Date()
Results |
[1] "2020-11-14"
R Programming |
%%R
library('lubridate')
lubridate::today()
Results |
[1] "2020-11-14"
5. R sqldf Package
현재 일자를 반환한다.
R Programming |
%%R
sqldf("select strftime('%Y-%m-%d', 'now') now")
Results |
now
1 2020-11-13
6. Python pandasql Package
date('now') 함수를 사용하여서 현재 일자를 반환한다.
Python Programming |
ps.sqldf("select date('now') now")
Results |
now | |
0 | 2020-11-13 |
Python Programming |
ps.sqldf("select strftime('%Y-%m-%d', 'now') now")
Results |
now | |
0 | 2020-11-13 |
8. SAS Proc SQL
Today() 함수를 사용하여서 현재 일자를 반환한다.
SAS Programming |
%%SAS sas
PROC SQL;
CREATE TABLE STATSAS_1 AS
SELECT A.*,
PUT(TODAY(),YYMMDDN.) AS TODATE_CHAR,
TODAY() AS TODATE_NUM FORMAT = YYMMDDN.
FROM EMP A;
QUIT;
PROC PRINT;RUN;
Results |
OBS | empno | ename | job | mgr | hiredate | sal | comm | deptno | TODATE_CHAR | TODATE_NUM |
1 | 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | . | 20 | 20210413 | 20210413 |
2 | 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600 | 300 | 30 | 20210413 | 20210413 |
3 | 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30 | 20210413 | 20210413 |
4 | 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | . | 20 | 20210413 | 20210413 |
5 | 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 | 30 | 20210413 | 20210413 |
6 | 7698 | BLAKE | MANAGER | 7839 | 1981-03-01 | 2850 | . | 30 | 20210413 | 20210413 |
7 | 7782 | CLARK | MANAGER | 7839 | 1981-01-09 | 2450 | . | 10 | 20210413 | 20210413 |
8 | 7788 | SCOTT | ANALYST | 7566 | 1982-12-09 | 3000 | . | 20 | 20210413 | 20210413 |
9 | 7839 | KING | PRESIDEN | . | 1981-11-17 | 5000 | . | 10 | 20210413 | 20210413 |
10 | 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500 | 0 | 30 | 20210413 | 20210413 |
11 | 7876 | ADAMS | CLERK | 7788 | 1983-01-12 | 1100 | . | 20 | 20210413 | 20210413 |
12 | 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | . | 30 | 20210413 | 20210413 |
13 | 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | . | 20 | 20210413 | 20210413 |
14 | 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300 | . | 10 | 20210413 | 20210413 |
9. SAS Data Step
Today() 함수를 사용하여서 현재 일자를 반환한다.
SAS Programming |
%%SAS sas
DATA STATSAS_2;
SET EMP;
TODATE_CHAR = PUT(TODAY(),YYMMDDN.);
FORMAT TODATE_NUM YYMMDDN.;
TODATE_NUM = TODAY();
RUN;
PROC PRINT;RUN;
Results |
OBS | empno | ename | job | mgr | hiredate | sal | comm | deptno | TODATE_CHAR | TODATE_NUM |
1 | 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | . | 20 | 20210413 | 20210413 |
2 | 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600 | 300 | 30 | 20210413 | 20210413 |
3 | 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30 | 20210413 | 20210413 |
4 | 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | . | 20 | 20210413 | 20210413 |
5 | 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 | 30 | 20210413 | 20210413 |
6 | 7698 | BLAKE | MANAGER | 7839 | 1981-03-01 | 2850 | . | 30 | 20210413 | 20210413 |
7 | 7782 | CLARK | MANAGER | 7839 | 1981-01-09 | 2450 | . | 10 | 20210413 | 20210413 |
8 | 7788 | SCOTT | ANALYST | 7566 | 1982-12-09 | 3000 | . | 20 | 20210413 | 20210413 |
9 | 7839 | KING | PRESIDEN | . | 1981-11-17 | 5000 | . | 10 | 20210413 | 20210413 |
10 | 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500 | 0 | 30 | 20210413 | 20210413 |
11 | 7876 | ADAMS | CLERK | 7788 | 1983-01-12 | 1100 | . | 20 | 20210413 | 20210413 |
12 | 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | . | 30 | 20210413 | 20210413 |
13 | 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | . | 20 | 20210413 | 20210413 |
14 | 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300 | . | 10 | 20210413 | 20210413 |
10. Python Dfply Package
Python Programming |
import datetime
import time
@make_symbolic
def to_datetime(series, infer_datetime_format=True):
return pd.to_datetime(series, infer_datetime_format=infer_datetime_format)
statwith = emp >> mutate( now_day = datetime.datetime.now() ,
now_day1 = datetime.datetime.today(),
now_day2 = time.strftime('%Y-%m-%d', time.localtime(time.time())),
hire_date = to_datetime(X.hiredate),
hire_str = X.hiredate.astype(str),
hire_str2 = to_datetime(X.hiredate).astype(str),
hire_str3 = to_datetime(X.hiredate).dt.strftime('%Y%m%d') ) >> select(~X.ename, ~X.job, ~X.mgr, ~X.sal, ~X.comm, ~X.deptno)
display(statwith.dtypes)
statwith >> head(7)
Results |
empno int64
hiredate object
now_day datetime64[ns]
now_day1 datetime64[ns]
now_day2 object
hire_date datetime64[ns]
hire_str object
hire_str2 object
hire_str3 object
dtype: object
Results |
empno | hiredate | now_day | now_day1 | now_day2 | hire_date | hire_str | hire_str2 | hire_str3 | |
0 | 7369 | 1980/12/17 | 2021-04-19 17:33:09.791307 | 2021-04-19 17:33:09.791323 | 2021-04-19 | 1980-12-17 | 1980/12/17 | 1980-12-17 | 19801217 |
1 | 7499 | 1981/02/20 | 2021-04-19 17:33:09.791307 | 2021-04-19 17:33:09.791323 | 2021-04-19 | 1981-02-20 | 1981/02/20 | 1981-02-20 | 19810220 |
2 | 7521 | 1981/02/22 | 2021-04-19 17:33:09.791307 | 2021-04-19 17:33:09.791323 | 2021-04-19 | 1981-02-22 | 1981/02/22 | 1981-02-22 | 19810222 |
3 | 7566 | 1981/04/02 | 2021-04-19 17:33:09.791307 | 2021-04-19 17:33:09.791323 | 2021-04-19 | 1981-04-02 | 1981/04/02 | 1981-04-02 | 19810402 |
4 | 7654 | 1981/09/28 | 2021-04-19 17:33:09.791307 | 2021-04-19 17:33:09.791323 | 2021-04-19 | 1981-09-28 | 1981/09/28 | 1981-09-28 | 19810928 |
5 | 7698 | 1981/03/01 | 2021-04-19 17:33:09.791307 | 2021-04-19 17:33:09.791323 | 2021-04-19 | 1981-03-01 | 1981/03/01 | 1981-03-01 | 19810301 |
6 | 7782 | 1981/01/09 | 2021-04-19 17:33:09.791307 | 2021-04-19 17:33:09.791323 | 2021-04-19 | 1981-01-09 | 1981/01/09 | 1981-01-09 | 19810109 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 전처리 방법 리스트
반응형
댓글