#๋ธ๋ผ์ดํฑ์ค #๋ธ๋ผ์ดํฑ์ค์คํ๋์ค #Brightics #๋ธ๋ผ์ดํฑ์ค์ํฌํฐ์ฆ #๋ฐ์ดํฐ๋ถ์
์๊ณ์ด ๋ฐ์ดํฐ๋ ์ฃผ๊ฐ, ์ค์
๋ฅ ๋ฐ์ดํฐ์ฒ๋ผ ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ ๊ด์ฐฐ·์์งํ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํฉ๋๋ค.
์๊ฐ์ ์์๊ฐ ์๋ ๋ฐ์ดํฐ์ด๊ณ , ํ ์์ ์ ๋ฐ์ดํฐ๋ ๊ทธ ์ด์ (๊ณผ๊ฑฐ) ๋ฐ์ดํฐ๋ค์ ์์กดํ๋ ๊ฒ์ด ํน์ง์ด์์.
๊ณผ๊ฑฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ํ์ฌ ํํ์ ๋ฏธ๋ ์์ธก์ ๋ํ ๋ถ์์ ์งํํ๋ ๊ฒ์ด ๋ฐ๋ก ์๊ณ์ด ๋ฐ์ดํฐ ๋ถ์์ด๋ผ๊ณ ํ ์ ์๊ฒ ์ฃ ?
์ด๋ฌํ ์๊ณ์ด ๋ฐ์ดํฐ๋ ๋ถ์ ์ด์ ์ ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ ํ
๋ฐ์,
์ด๋ฒ ์ค์ต์์๋ ์๊ณ์ด ๋ฐ์ดํฐ์ ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ๋ธ๋ผ์ดํฑ์ค ์คํ๋์ค๋ก ์ค์ตํด๋ณด๊ฒ ์ต๋๋ค!
โป ์ด ํฌ์คํธ๋ PC ๋ฒ์ ์ ์ต์ ํ๋์ด ์์ต๋๋ค. ๋ชจ๋ฐ์ผ์ ๊ธ์ด ๋ค์ ๋์กํด๋ณด์ผ ์ ์์ต๋๋ค ใ
ใ
๐๐ซ๐ข๐ ๐ก๐ญ๐ข๐๐ฌ ๐ฉ๐ซ๐จ๐๐๐ฌ๐ฌ
ํด๋น ์ค์ต์ Brightics AI ํํ์ด์ง์์ ์ ๊ณตํ๊ณ ์๋ ํํ ๋ฆฌ์ผ ์ค ์๊ณ์ด ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ๋ฅผ ๋ฐํ์ผ๋ก ์งํํ์์ต๋๋ค!
https://www.brightics.ai/kr/docs/ai/s1.0/tutorials/234_py_time_preprocessing?type=insight
Brightics Studio
www.brightics.ai
์ค์ต์ ์ฌ์ฉํ ํ์ผ์ ํด๋น ํ์ด์ง์์ ๋ค์ด ๊ฐ๋ฅํ,
234_py_time_preprocessing_energy_usage, 234_py_time_preprocessing_holiday_calendar ํ์ผ์ ๋๋ค:)
๐. ๐๐จ๐๐
์ด์ ๋ ์ต์ํ ์ค์ต csv ํ์ผ ๋ถ๋ฌ์ค๊ธฐ! ๋ ๋ฐ์ดํฐ์
์ ๊ฐ๊ฐ ๋ถ๋ฌ์จ ํ์ table์ ํตํด ๋ฐ์ดํฐ ํํ๋ฅผ ๊ฐ๋จํ ํ์ด๋ด
์๋ค.
์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ์
(usage)์
- timestamp [String] : ์ฐ์์ผ ์๊ฐ๋
- value [Double] : ์๋์ง ์ฌ์ฉ๋
- temperature [Double] : ๊ธฐ์จ
- rain [Double] : ๊ฐ์๋
- humidity [Double] : ์ต๋
- wspeed [Double] : ํ์
์ผ๋ก ๋ฌธ์ํ ๋ณ์ ํ ๊ฐ์ง, ์ค์ํ ๋ณ์ ๋ค์ฏ ๊ฐ์ง๋ก ์ด ์ฌ์ฏ ๊ฐ์ ๋ณ์๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ ,
๋ ๋ฒ์งธ ๋ฐ์ดํฐ์
(holiday)์ผ๋ก๋
- date [String] : ์ฐ์์ผ
- holiday [Double] : ํด์ผ์ฌ๋ถ
๋ฅผ ๋ณ์๋ก ๋๊ณ ์๋ ๋ฐ์ดํฐ์
์ด ์์ด์.
* ์ฒซ ๋ฒ์งธ csv ํ์ผ์ Load ํจ์ ๋ด Add Data ๊ณผ์ ์์ ๋ชจ๋ ๋ณ์๊ฐ Double ๋ก ์ธ์๋์๋๋ฐ,
์ธ ๋ฒ์งธ ๋จ๊ณ์์ timestamp ๋ณ์๋ฅผ ์ง์ String์ผ๋ก ๋ฐ๊พธ์ด์ฃผ์์ต๋๋ค!
๊ทธ ์ค ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ์
์ ์๊ณ์ด ๋ฐ์ดํฐ์ด๋ค๋ณด๋
X์ถ์ timestamp๋ก ๋๊ณ Y์ถ์ value๋ก ๋๋ฉด ์ด์ฒ๋ผ ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ฅธ ์๋์ง ์ฌ์ฉ๋ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ ค๋ณผ ์ ์์ด์.
์์ผ๋ก ๋ช ๊ฐ์ง์ ์๊ณ์ด ์ ์ฒ๋ฆฌ๋ฅผ ์ค์ตํด๋ณด๊ฒ ์ต๋๋ค!
์ฌ์ค ์ด ๋ถ๋ถ ํํ ๋ฆฌ์ผ ๋ด์ฉ์ด ์ด์ง ์ด๋ ค์ ๋๋ฐ์,
์ต๋ํ SQL์ ๋ค๋ค๋ณธ ์ ์ด ์์ด๋ ์ดํดํ๊ธฐ ์ฝ๋๋ก ํ์ด๋ณผ๊ฒ์!
์ผ๋จ ์ ๊ฐ SQL์ ์์ง ์ง์ ์ ์ผ๋ก ๊ณต๋ถํด๋ณธ ์ ์ด ์๊ธฐ ๋๋ฌธ์ (๏ฝก•ฬ๏ธฟ•ฬ๏ฝก)
์ ๊น, ์ค์ต์ด ์ด๋ ค์ธ ๋ ๊ฟํ ( •โ• เฅ )โง
ํํ ๋ฆฌ์ผ ์ค๋ช ์ด ์์ธํ๊ฒ ์ ํ ์๊ธด ํ์ง๋ง, ์์ง ๋ด์ฉ์ด ์ต์ํ์ง ์์ ํ ๋ฒ์ ์๋ฟ์ง ์์ ๋์๋!
ํํ ๋ฆฌ์ผ ๊ธ ํ๋จ Data & Model ๋ค์ด๋ก๋ ํญ์ ์ฐธ๊ณ ๋ชจ๋ธ์ ํ์ฉํด๋ณด์ธ์!
json ํ์ผ์ ๋ค์ด ๋ฐ์์ ๋ธ๋ผ์ดํฑ์ค ์คํ๋์ค์์ ๊ทธ๋๋ก ์ด์ด ์คํ์ํค๋ฉด?
ํํ ๋ฆฌ์ผ ์์ฑ ๋ชจ๋ธ ์์ฒด๋ฅผ ์ ๊ณตํ๊ณ ์๊ธฐ ๋๋ฌธ์, ๊ถ๊ธํ๊ฑฐ๋ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ์ ์ง์ ! ํ์ธํด๋ณผ ์ ์์ด์
์ฟผ๋ฆฌ ๋ถ๋ถ ์ฝ๋๊ฐ ์ดํด๊ฐ ์ ์ ๊ฐ์, ๊ฐ ํจ์๋ฅผ ๋๋ฌ๋ณด๋ฉด์ ์ด๋ค ์ฝ๋์ธ์ง ํ๋์ฉ ๋ณต์ฌํด๊ฐ๋ฉด์ ์ดํดํด๋ณด๊ณ
๋ ์ผ์ชฝ input ๋ฐ์ดํฐ์ ์ค๋ฅธ์ชฝ output ๋ฐ์ดํฐ๋ฅผ ์คํฌ๋กคํด์ ๋น๊ตํด๊ฐ๋ฉด์ ์ด๋๊ฐ ๋ฐ๋์๋์ง ํ์ธํด๋ณด๊ธฐ!
๋์ ๊ฑฐ๊ธฐ์ ๋๋๊ธฐ ์๊ธฐ ( •อแด•อ)โ ์ง์ ๋ค์ ์ค์ตํด๋ด
์๋น
์์ผ๋ก ํ ์๊ณ์ด ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ์๋์ ๊ฐ์์.
usage ๋ฐ์ดํฐ์
์์๋
โ ํ์๋ณ์๋ก ์ฐ(year), ์(month), ์ผ(day), ์ฐ ์ฃผ์ฐจ(week), ์์ผ(dayname) / ์๊ฐ(hour) ์์ฑํ๊ธฐ
โก ๋ณ์์ ํํ๋ฅผ ๋ฐ๊พธ๊ธฐ : ์์ผ์ ์ซ์๋ก, ์ผ~ํ = 0~6 / ์ฐ ์ฃผ์ฐจ๋ฅผ 0-53์์ 00-53 ํํ๋ก
holiday ๋ฐ์ดํฐ์
์์๋
โข usage ๋ฐ์ดํฐ์
์ timestamp๊ณผ holiday ๋ฐ์ดํฐ์
์ date๋ฅผ ๋์ผํ ํํ๋ก ๋ง๋ค์ด ๋ฐ์ดํฐ์
ํฉ์น๊ธฐ
โฃ ํฉ์น๋ ๊ณผ์ ์์ wdh (์ฐ ์ฃผ์ฐจ+์์ผ+์๊ฐ), dayhour(๋ ์ง+์๊ฐ) ๋ณ์ ์์ฑํ๊ธฐ
๋ง์ง๋ง์ผ๋ก, ํฉ์น ๋ฐ์ดํฐ์
์์
โค ๋ถํ์ํ ๋ณ์ ์ ๊ฑฐ, ๋ถ์์ ํ์ํ ๋ณ์ ์์ ๋ฐ ์์ฑํ๊ธฐ
โฅ ๋ฐ์ดํฐ์
์ ๋ค์ ์ ์ฅํ๊ธฐ (Unload ํจ์)
๋ฅผ ์์ฐจ์ ์ผ๋ก ์งํํด๋ณด๊ฒ ์ต๋๋ค!
์ฐธ๊ณ ๋ก ํํ ๋ฆฌ์ผ์ SQL ๋ถ๋ถ์ ์ต๋ํ ๋ธ๋ผ์ดํฑ์ค ํจ์๋ก ๋ฐ๊พธ์ด ์ค์ตํด ๋ณด์์ด์.
๋๋ฌธ์ ํํ ๋ฆฌ์ผ๊ณผ ์์๋ ์กฐ๊ธ ์ฐจ์ด๊ฐ ์์ต๋๋ค! (๊ฒฐ๊ณผ๋ ๋์ผํด์)
์์ง ๋ณ์ ์์ฑ, ์์ ๋ฐ ์ ๊ฑฐ์ ์ต์ํ์ง ์๋ค๋ฉด ์๋ ํฌ์คํธ๋ ํจ๊ป ์ฐธ๊ณ ํด์ฃผ์ธ์!
[Brightics Studio ์ค์ต] ์ ์ฒ๋ฆฌ (1) : ๋ฐ์ดํฐ ๊ฒฐํฉ, ์์ฑ, ๋ณ๊ฒฝ๊ณผ ์ ์ฅ
#๋ธ๋ผ์ดํฑ์ค #Brightics #๋ธ๋ผ์ดํฑ์ค์คํ๋์ค #BrighticsStudio #BrighticsAI #๋ฐ์ดํฐ๋ถ์ #์ผ์ฑSDS #๋ธ๋ผ์ดํฑ์ค์ํฌํฐ์ฆ ์ง๊ธ๊น์ง์ ํฌ์คํธ์์๋ ๊ธฐ๋ณธ์ ์ธ ๋ธ๋ผ์ดํฑ์ค ์คํ๋์ค์์์ ๋ถ์ ๊ธฐ๋ฅ์ ๏ฟฝ๏ฟฝ
place-bo-effect.tistory.com
๐. โ ,โก : ๐๐๐๐จ๐ฆ๐ฉ๐จ๐ฌ๐ ๐๐๐ญ๐๐ญ๐ข๐ฆ๐ & ๐๐๐ (๐๐ฎ๐ง๐๐ญ๐ข๐จ๐ง) ๐๐จ๐ฅ๐ฎ๐ฆ๐ง
๋จผ์ ๋ณ์ ๊ฐ์์ ์ฐ, ์, ์ผ, ์ฐ ์ฃผ์ฐจ์ ์์ผ ๊ฐ์ ์ถ์ถํ๋ decompose datetime ํจ์๋ก
โ ๋ฒ ์ฌํญ์ธ ํ์๋ณ์ ์์ฑํ๊ธฐ๋ฅผ ์งํํด๋ณผ๊ฒ์.
์ด ํจ์๋ input ์ผ๋ก timestamp ๋ง ์
๋ ฅํ๋ฉด ์๋์ผ๋ก ์ค๋ฅธ์ชฝ์ฒ๋ผ ๋ณ์๋ฅผ ์ถ์ถํด์ค๋๋ค.
๋ค๋ง timestamp ๋ณ์๊ฐ yyyyMMddHHmmss ํํ์ฌ์ผ ํฉ๋๋ค!
๊ทธ๋ผ ์ด์ โ , โก๋ฒ ํญ๋ชฉ ์ค ๋จ์ ๊ฑด
โ ์ ์๊ฐ ๋ณ์ (hour) ์์ฑํ๊ธฐ
โก์ ์์ผ ๋ณ์ (dow) : Sunday-Saturday๋ฅผ 0-6 ํํ๋ก ์์ฑํ๊ธฐ
โก์ ์ฐ ์ฃผ์ฐจ ๋ณ์ : 0-53์ 00-53 ํํ๋ก ๋ง๋ค๊ธฐ์ด์ฃ ?
์ด ๋ถ๋ถ์ ํํ ๋ฆฌ์ผ์์๋ Query Executor๋ฅผ ํตํด์ SQLite ์ฝ๋๋ก ํ์ด๋๋๋ฐ,
์ ๋ ์ด์ ํํ ๋ฆฌ์ผ์์ ์ฌ์ฉํ Add function column๊ณผ Add column ํจ์๋ฅผ ํจ๊ป ์ฌ์ฉํด๋ณด์์ด์.
Add Function Column์ผ๋ก hour ๋ผ๋ ์ด๋ฆ์ ์๊ฐ ๋ณ์๋ฅผ ์์ฑํด์ค๋๋ค.
substr(timestamp, 9, 2), ์ฆ timestamp ๋ณ์์์ 9๋ฒ์งธ ์๋ฆฌ๋ถํฐ ๋ ์๋ฆฌ๋ฅผ ๋ฝ์๋ด๋ฉด ์ค๋ฅธ์ชฝ๊ณผ ๊ฐ์ ์๊ฐ ๊ฐ์ ์ป์ ์ ์๊ฒ ์ฃ ?
Add Function Column๊ณผ Add Column ๊ด๋ จ ์ค๋ช
๋ ์ด์ ๋ฐ์ดํฐ ๊ฒฐํฉ, ์์ฑ, ๋ณ๊ฒฝ ํฌ์คํธ์ ์๋ต๋๋ค:D
์์ผ ๋ณ์๋ ์ฝ๊ฐ์ ๋ณต๋ถ(?)์ด ํ์ํ๋ฐ์, Add column ํจ์๋ฅผ ์ฌ์ฉํด์ ์์ ๊ฐ์ ์กฐ๊ฑด์ ๋ถ์ฌํด์ ํํ๋ฅผ ๋ฐ๊พธ์ด๋ณด์์ด์!
๋ง์ง๋ง์ผ๋ก ์ฐ ์ฃผ์ฐจ ํํ๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋์ ๊ฒ ๊ฐ์์ Query Executor๋ฅผ ์ฌ์ฉํด์ฃผ์์ต๋๋ค.
SELECT *,
case when length(timestamp_week) = 1
then '0'||cast(timestamp_week as text)
else cast(timestamp_week as text)
end as week
FROM #{DF(0)}
week์ด๋ผ๋ ์๋ก์ด ๋ณ์๋ฅผ ๋ง๋ค๋
timestamp_week ์ ๊ธธ์ด, ์ฆ ๊ธ์์๊ฐ ํ๋๋ผ๋ฉด ์์ 0์ ๋ถ์ฌ์ฃผ๊ณ , ์๋๋ผ๋ฉด ๊ทธ๋๋ก ๊ฐ์ ๋ฃ์ด์ฃผ๋ ์ฝ๋!
์ฐธ๊ณ ๋ก ์ ์ธ ๊ฐ์ง๋ฅผ Query Executor๋ฅผ ์ฌ์ฉํด ์
๋ ฅํ SQLite ์ฝ๋๋ ์๋์ ๊ฐ์์.
SELECT * , strftime('%w', datetime(substr(timestamp,1,4)||'-'||substr(timestamp,5,2)||'-'||substr(timestamp,7,2))) AS dow
, cast(substr(timestamp,9,2) as double) as hour
, case when length(timestamp_week) = 1 then '0'||cast(timestamp_week as text) else cast(timestamp_week as text) end as timestamp_week2
, substr(timestamp,9,2) as timestamp_hour2
FROM #{DF(0)}
/* timestamp_week2 ๋ ํด๋น ํฌ์คํธ์ week, timestamp_hour2๋ hour์
๋๋ค */
๐. โข ๐๐๐ญ๐๐ญ๐ข๐ฆ๐ ๐
๐จ๐ซ๐ฆ๐๐ญ๐ญ๐๐ซ & ๐๐จ๐ข๐ง
์ด์ ๋ ๋ฐ์ดํฐ์
์ timestamp, date ๋ถ๋ถ์ ์ ์ ํ ๋ค๋ฌ์ด์ ์ด ๋ ๋ณ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ์
์ ํฉ์ณ๋ณผ๊ฒ์!
์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์ timestamp๋ yyyyMMddHHmmss ํํ์ด๊ณ , date๋ yyyy-mm-dd ํํ๋ผ๋ ์ ์ด์์.
Datetime formatter๋ฅผ ํตํด ๋ ๊ฐ์ง ์ค ํ๋๋ฅผ ๋ค๋ฅธ ํ๋์ ํํ์ ๋์ผํ๊ฒ ๋ง๋ค์ด์ค ํ, Join ํจ์๋ก ํฉ์ณ์ฃผ๊ฒ ์ต๋๋ค.
Datetime formatter๋ ๋ ์ง์ ์๊ฐ์ ๋ํ ๋ณ์๋ฅผ ์ํ๋ ํํ๋ก ๊ฐ๋จํ๊ฒ ๋ฐ๊พธ์ด์ค ์ ์๋ ํจ์์ธ๋ฐ์.
ํํ ๋ฆฌ์ผ์์๋ holiday ๋ฐ์ดํฐ์
์ date ๋ณ์ ํํ๋ฅผ yyyyMMddHHmmss ํํ๋ก ๋ฐ๊พธ์ด์ฃผ์๋๋ฐ,
์ ๋ usage ๋ฐ์ดํฐ์
์ timestamp ๋ณ์๋ฅผ yyyy-MM-dd ํํ๋ก ๋ฐ๊พธ์์ด์.
๊ทธ ์ด์ ๋! ํํ ๋ฆฌ์ผ์ฒ๋ผ ํ๊ฒ ๋๋ฉด
์๊ฐ์ ๋ํ ๋ฐ์ดํฐ๊ฐ ์๋ date ๋ณ์๋ yyyyMMdd000000 ํํ๋ก ๋ฐ๋๊ฒ ๋๊ณ ,
์ด๋ ๊ฒ ๋๋ฉด ์ ์ฌ๋ ๊ธ์๋ง ํ์ฉํ๋ค! ๋ผ๋ ์กฐ๊ฑด์ ํฉ์น ๋ ๋ ๋ถ์ฌํด์ฃผ์ด์ผ ํ๊ธฐ ๋๋ฌธ์
๋ธ๋ผ์ดํฑ์ค ์คํ๋์ค ํจ์๋ฅผ ์ต๋ํ ์ฌ์ฉํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ์๋ usage ๋ฐ์ดํฐ์
๋ณ์๋ฅผ ๋ฐ๊พธ์ด์ฃผ๋ ๊ฒ ํธ๋ฆฌํ๋ค๋ ๊ฒฐ๋ก !
์ฐธ๊ณ ๋ก datetime formatter์ display mode๋ฅผ replace(๋์ฒด)๊ฐ ์๋ append(๋ง๋ถ์ด๊ธฐ)๋ฅผ ์ ํํด์ผ ์๋ก์ด ๋ณ์๋ก ์ถ๊ฐ๋ฉ๋๋ค.
๋๋ง์ Join! ๋ฐฉ๊ธ ํํ๋ฅผ ๋ฐ๊พธ์ด์ฃผ๋ฉด์ ์๊ธด reformat_timestamp ๋ณ์์ date ๋ณ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ์
์ ํฉ์ณ์ค๋๋ค.
๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ์ ๋๋ก ํฉ์ณ์ง ๊ฒ ๊ฐ์์. (๋ณ์๋ ๋์ค์ ์ ํํ ๊ฒ๋ง ์ฌ์ฉํ ์ ์์ผ๋ ์ค๋ณต๋์ด ์๊ฒจ๋ ๊ด์ฐฎ์์.)
๊ทธ๋ฐ๋ฐ holiday ๋ฐ์ดํฐ์
์ ํด์ผ์ธ ๋ ์ง์ ๋ํ ๋ฐ์ดํฐ ๋ฟ์ด๋ผ ํด์ผ์ด ์๋ ๊ฒฝ์ฐ์๋ null ๊ฐ์ด๋ค์.
ํ์ง๋ง null ๊ฐ, ๊ฒฐ์ธก๊ฐ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ๋ ์ด์ ์ ์๊ณ ์์ผ๋๊น >_<
[Brightics Studio ์ค์ต] ์ ์ฒ๋ฆฌ (2) : ๊ฒฐ์ธก๊ฐ ์ฒ๋ฆฌํ๊ธฐ
#๋ธ๋ผ์ดํฑ์ค #Brightics #๋ธ๋ผ์ดํฑ์ค์คํ๋์ค #BrighticsStudio #BrighticsAI #๋ฐ์ดํฐ๋ถ์ #์ผ์ฑSDS #๋ธ๋ผ์ดํฑ์ค์ํฌํฐ์ฆ ๋ฐ์ดํฐ ๋ถ์ ์์ ์ํ๋ ๋ชฉ์ ์ ๋ฌ์ฑํ ์ ์๋๋ก ๋ฐ์ดํฐ ์์ฒด๋ฅผ ์๋ง์ ํํ๏ฟฝ
place-bo-effect.tistory.com
Replace Missing Number ํจ์๋ฅผ ํตํด holiday ๊ฒฐ์ธก๊ฐ์ 0 (ํด์ผ์ด ์๋๋ค)์ผ๋ก ์
๋ ฅํด์ฃผ๊ธฐ!
๐. โฃ ๐๐๐ ๐
๐ฎ๐ง๐๐ญ๐ข๐จ๐ง ๐๐จ๐ฅ๐ฎ๐ฆ๐ง๐ฌ
โฃ๋ฒ์ธ wdh (์ฐ ์ฃผ์ฐจ+์์ผ+์๊ฐ) ๋ณ์์ dayhour (๋ ์ง+์๊ฐ) ๋ณ์ ์์ฑ์
์๊น์ ๋์ผํ๊ฒ Add Function Columns ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
wdh ๋ณ์๋ ์ฐ ์ฃผ์ฐจ์ ์์ผ, ์๊ฐ์ '-' ๋ฌธ์๋ก ์ฐ๊ฒฐํด์ฃผ๊ณ , dayhour ๋ณ์๋ timestamp์์ 8์๋ฆฌ๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ด์.
์ฐธ๊ณ ๋ก ์ด 3๋ฒ, 4๋ฒ ๊ณผ์ ์ Query Executor๋ฅผ ํ์ฉํ๋ฉด ์๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
SELECT a.*
, a.timestamp_week2||'-'||cast(a.dow as text)||'-'||a.timestamp_hour2 as wdh
, substr(a.timestamp, 5,8) as dayhour
, b.holiday
from #{DF(0)} a left outer join #{DF(1)} b
on substr(a.timestamp,1,8) = substr(b.date,1,8)
๐. โค ๐๐๐ฅ๐๐๐ญ ๐๐จ๐ฅ๐ฎ๐ฆ๐ง
์ด๋ ค์ ๋ ๋ถ๋ถ๋ค์ ๊ฑฐ์ ๋๋๊ณ , ์ด์ ๋ง๋ฌด๋ฆฌ ๋จ๊ณ!
Select Column ํจ์๋ฅผ ํตํด์ ๋ณ์ ์ด๋ฆ๊ณผ type์ ๋ค๋ฌ์ด์ฃผ๊ณ , ํ์์๋ ๋ณ์๋ ์ ๊ฑฐํด์ค๊ฒ์!
โ
์ ์ฒ๋ฆฌ ๊ณผ์ ์์ ์๊ธด ๋ถํ์ํ ๋ณ์๋ค์ ์ฒดํฌ ํด์ ํด์ฃผ๊ณ , ๋ถ์์ ์๋ง์ ํํ๋ก ์ด๋ฆ๊ณผ type์ ๋ฐ๊พธ์ด์ฃผ์์ด์.
์์ ๊น๋ํด์ ์พ๊ฐ .. (?)
๐. โค ๐๐๐ ๐๐ฎ๐ง๐๐ญ๐ข๐จ๐ง ๐๐จ๐ฅ๐ฎ๐ฆ๐ง๐ฌ
weekday ๋ ํ์ผ์ผ ๋ (dow ๊ฐ์ด 0๊ณผ 6 ์ฌ์ด, ์ฆ 0๊ณผ 6์ด ์๋ ๊ฐ์ผ ๋) 1, ๊ทธ๋ ์ง ์์ ๋ 0์ธ ๋ณ์์ด๊ณ
offday๋ ์ฃผ๋ง์ด๊ฑฐ๋ ๊ณตํด์ผ์ผ ๋ 1, ๊ทธ๋ ์ง ์์ ๋ 0์ธ ๋ณ์!
๐. โฅ ๐๐ง๐ฅ๐จ๐๐
์ด๋ ๊ฒ Unload ํจ์๋ก ์๋ ๋ฐ์ดํฐ ํ์ผ์ ๋ฎ์ด์ฐ๊ธฐ๋ก ์ ์ฅ๊น์ง ํ๋ฉด ์๊ณ์ด ์ ์ฒ๋ฆฌ ๊ณผ์ ๋ ๋!
์ด์ ์ค์ต์ ๋นํด ๋น๊ต์ ๋์ด๋๋ ๋์ ํธ์ด์๊ณ , ํ๋ก์ธ์ค ์์ฒด์ ๊ธธ์ด๋ ๊ธด ํธ์ด๋ผ
์ค์ต ๊ณผ์ ๋, ๋ฆฌ๋ทฐ ๊ณผ์ ๋ ์กฐ๊ธ ์ค๋ ๊ฑธ๋ ธ๋๋ฐ ๋ค ๋ง์น๊ณ ๋๋๊น ์ ๋ง ๋ฟ๋ฏํ๋ค์ฉ..
์ด์ฏค์์ ์ ์ฒ๋ฆฌ ์ค์ต๋ ๋ง๋ฌด๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค!
๋ค๋ฃจ์ง ์์์ง๋ง ์ค์ตํด๋ณด๊ธฐ ์ข์ ์ ์ฒ๋ฆฌ ๊ณผ์ ํํ ๋ฆฌ์ผ๋ ๋ง์ด ์์ด์ !
* ๋ฌธ์ ๋ฐ์ดํฐ์ ๋๋ฏธ ๋ณ์ ๋ณํ
Brightics Studio
www.brightics.ai
* ๋ ์ง ๊ด๋ จ ์ ์ฒ๋ฆฌ ๋ฐ ํ์ ๋ณ์ ์์ฑ
https://www.brightics.ai/kr/docs/ai/s1.0/tutorials/25_0_py_Create_Date_Var?type=insight
Brightics Studio
www.brightics.ai
๋ค์์๋ EDA [Exploratory Data Analysis] ๊ณผ์ ์ค์ต์ ์งํํด๋ณผ๊ฒ์!
์ฝ์ด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.