[ZB 데이터스쿨 11기]8주차 학습노트

InSung-Na·2023년 2월 27일
0

Study Note

목록 보기
8/18
post-thumbnail

📌EDA 과제2_주유소 데이터 분석

개요

  • 최근 물가가 상승하면서 유가도 덩달아 상승했다. 그런데 셀프주유소와 일반주유소 간의 차이가 꽤 있다는 것을 운전자라면 알 것이다. 이를 데이터 분석을 통해 알아보자

데이터 출처 : 오피넷


목표

  • 셀프주유소와 일반주유소의 가격차이 알아보기
  • 구별 유가 정보 시각화하기

제한사항

  • 서울시를 대상으로 한다
  • 데이터 수집 시 부가정보를 포함한다(셀프, 세차장, 충전소, 경정비, 편의점, 24시간운영)

절차

  1. 오피넷사이트 이해

    • 지역별 싼 주유소 찾기로 이동
    • 사이트 활용에 대한 이해
  2. 서울 구역별 데이터 수집

    • 주유소명, 주소, 브랜드, 휘발유 가격, 경유 가격, 셀프 여부, 세차장 여부, 충전소 여부, 경정비 여부, 편의점 여부, 24시간 운영 여부, 구, 위도, 경도 데이터 수집
  3. 데이터 분석

    • 시각화, 분석에 맞게 데이터 구조변환
    • 내용 분석
  4. 데이터 시각화

    • 차트그리기, 지도시각화
  5. 해석

    • 분석 및 시각화 해석

1. 오피넷사이트 이동

  • 지역별 싼 주유소 찾기로 이동

사이트 해석 내용

  • 오피넷 사이트에서는 각 지역을 드롭다운 목록으로 선택한다
  • 부가정보, 상표, 형태 등을 선택할 수 있다
  • 지역을 선택하면 URl은 바뀌지 않고 데이터만 변경된다
  • 해당 지역에 포함되는 주유소는 아래에 목록으로 나열된다
  • 주유소를 클릭하면 상세내용을 알 수 있다


2. 서울 구역별 데이터 수집

  • 주유소명, 주소, 브랜드, 휘발유 가격, 경유 가격, 셀프 여부, 세차장 여부, 충전소 여부, 경정비 여부, 편의점 여부, 24시간 운영 여부, 구, 위도, 경도 데이터 수집
  • 부가정보도 수집해야 하므로 각 주유소를 클릭하여 상세정보에서 데이터를 수집한다
  • 데이터프레임을 만들어야하므로 모든 데이터를 각각의 리스트에 저장
  • 위도, 경도는 googlemaps에서 수집

  • 데이터 수집 오류발생
  • 문제 : 각 주유소를 선택했을 때, 글자가 보이지 않으면 Selenium이 이를 선택 불가능
  • 해결 : 페이지 전체를 읽어오는 BeutifulSoup를 활용
driver.find_element(By.CSS_SELECTOR, target).click()
page = driver.page_source
soup = BeautifulSoup(page, 'html.parser')
name.append(soup.select_one("#os_nm").text)    # 주유소명


  • 데이터프레임 생성
df = pd.DataFrame({
    'name': name,
    'address': address,
    'brand': brand,
    'gasoline': gasoline,
    'diesel': diesel,
    'self': self_,
    'car_wash': car_wash,
    'gas_station': gas_station,
    'maintenace': maintenance,
    'convenience': convenience,
    'operating_24': operating_24,
    'gu': gu,
    'lat': lat,
    'lng': lng
})

3. 데이터 분석

  • 구조변환 및 분석
    분석내용
  • 각 구별로 가격의 차이가 발생한다
  • 전반적으로 셀프가 일반주유소보다 가격이 싸다
  • 셀프가 없는 구역은 용산구이다.


4. 데이터 시각화

  • 휘발유 기준 지도 시각화

5. 해석

사실

  • 일반적으로 서울중심이 기름가격이 비싸며, 바깥으로 갈수록 가격이 싸지고, 셀프주유소가 증가하는 경향을 보인다
  • 셀프는 일반보다 약 50~120원 정도 싸다
  • 셀프 가격차이가 가장 큰 지역은 중구(477), 강남구(346), 영등포구(216), 종로구(187), 성동구(146) 이고 중구의 최대편차는 968원이다

인과관계

  • 셀프는 고객 스스로가 주유하는 것으로 인건비를 아끼는 것을 의미한다
  • 셀프의 단점은 사용자의 불편함, 사용미숙으로 인한 주유시간증가와 회전률저하 및 사고발생, 범죄 등이 있다
  • 사용자가 많은 주유소는 셀프를 사용하는 것이 부적합하고, 그만큼 직원을 고용할 것이다

결론

  • 셀프가 일반주유소보다 가격이 싸다

📌8주차 학습내용 요약

Git

  • 버전관리시스템

Git 기본용어

  • Repository : 소스코드가 저자오디어 있는 여러 개의 Branch가 모여있는 디스크상의 물리적 공간
  • Checkout : 특정 시점이나 Branch의 소스코드로 이동하는 것
  • Stage : 작업한 내용이 올라가는 임시저장영역
  • Commit : 작업한 내용을 Repository에 저장하는 과정
  • Tag : 임의의 commit 위치에 쉽게 찾아갈 수 있도록 붙여놓은 이정표
  • Push: Local Repository의 내용 중, Remote Repository에 반영되지 않은 commit을 Remote로 보내는 과정
  • Pull : Remote에 있는 내용 중, Local에 반영되지 않은 내용을 가져와서 Local 에 저장하는 과정
  • Branch : 특정 시점에서 분기하여 새로운 commit을 쌓을 수 있는 가지를 만드는 것
  • Merge : branch의 반대개념으로 하나의 branch를 다른 branch와 합치는 과정
  • README file : 프로젝트에 대한 설명, 사용방법, 설치방법 등에 대한 내용을 기술하는 파일
  • .gitignore : git 버전관리에서 제외할 파일을 지정하는 파일

Git 명령어

기본 터미널 명령어

  • 폴더 이동 : cd filename
  • 이전으로 이동 : cd ..
  • 폴더 생성 : mkdir
  • 파일 목록 조회 : ls
  • 숨김도 조회 : ls -all

Git 활용 명령어

  • 작업공간 선언 : git init
  • git 상태 : git status
  • add : git add filename
  • commit : git commit -m "comment" filename
  • Push : git push origin <target>
  • Pull : git pull origin <target>
  • Local Remote : git remote add origin https://<username>:<token>@github.com/<repository>.git
  • git clone : git clone https://<username>:<token>@github.com/<repository>.git

BRANCH 명령어

  • branch 조회 : git branch -a
  • local branch 생성 : git branch branchname
  • local branch 이동 : git checkout branchname
  • local branch 생성&이동 : git checkout -b branchname
  • remote branch 생성 : git push origin branchname
  • local branch 삭제 : git branch -d branchname
  • remote branch 삭제 : git push origin --delete branchname

TAG 명령어

  • git tag tagname : 마지막 버전에 태그
  • git tag tagname commithash : 지정한 commit에 태그
  • git push origin tagname : Remote에 태그 push하기
  • git tag : 태그목록보기
  • git show tagname : 특정 태그 상세
  • git tag --delete tagname : 특정태그 삭제하기
  • git push --delete origin tagname : Remote 태그 삭제하기


📌학습범위

  • Part 06. Git
    • Git의 배경과 설치, 기본용어
    • Repository & Branch
    • TAG & README

0개의 댓글