강의 소개
개요
1. 데이터 수집
C:\Users\1\Desktop\dashboard-project21>tree /f
폴더 PATH의 목록입니다.
볼륨 일련 번호는 E657-CFA3입니다.
C:.
│ README.md
│
└─data
avocado.csv
2. 가상환경 및 라이브러리 설치
- conda를 활용하여 가상환경 설정을 합니다.
- (dashboard-project21) 형태로 터미널 명령어가 바뀌어 있어야 합니다.
$ conda create --name dashboard-project21 python=3.8
.
.
$ conda activate dashboard-project21
(dashboard-project21) C:\Users\1\Desktop\dashboard-project21>
$ conda install dash
$ conda install pandas
$ conda install colorama
3. 대시 보드 코드 작성
(1) 데이터 수집 및 Dash 클래스 정의
import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
# step 1. Data Import
data = pd.read_csv("avocado.csv", index_col=0)
data = data.query("type == 'conventional' and region == 'Albany'")
data["Date"] = pd.to_datetime(data["Date"], format="%Y-%m-%d")
data.sort_values("Date", inplace=True)
# step 2. Dash Class
app = dash.Dash(__name__)
dash 라이브러리는 대시보드 어플리케이션 초기화를 담당한다.dash_core_components 동적 구성요소들(예: 그래프, 드롭다운 메뉴, 날짜 기간 등) 작성할 수 있도록 도와주는 기능을 제공한다.dash_html_components 은 html 태그에 접근하도록 한다.pandas 데이터 수집 및 가공을 제공할 수 있는 함수들을 지원한다.- 코드 설명
- step 1
- 데이터를 avocado.csv 데이터를 수집한 후,
type = conventional 과, region = Albany 만 추출하는 행을 추출한다. - 그 이후 날짜의 오름차순으로 정렬하는 코드를 작성한다.
- step 2
- Dash 클래스를 정의하여 app이라는 객체를 별도 생성한 것을 의미한다.
(2) 대시보드 HTML Layout 정의
# step 3. HTML
app.layout = html.Div(
# Header Message
children=[
html.H1(children="Temp Analytics",),
html.P(
children="Temp",
),
# 그래프
dcc.Graph(
figure={
"data": [
{
"x": data["Date"],
"y": data["AveragePrice"],
"type": "lines",
},
],
"layout": {"title": "Title_1"},
},
),
dcc.Graph(
figure={
"data": [
{
"x": data["Date"],
"y": data["Total Volume"],
"type": "lines",
},
],
"layout": {"title": "Title_2"},
},
),
]
)