ABC부트캠프 36

[16일차] ABC 부트캠프 데이터 분석 프로젝트 발표회

어제 오후에 이어 오늘 15시까지 프로젝트를 기획하고 구현하였다.  우리 조의 주제는 재난 문자를 활용한 지역별 자연재해 발생 빈도를 확인하는 코드를 작성하였다. 하지만, 코드를 작성하면서 생각해 보니 발생 빈도를 분석해도 대비하기도 어렵고, 활용 방안이 마땅히 떠오르지 않았다. 그렇기 때문에 오늘(25일) 다시 주제를 선정했다. 바뀐 주제는 긴급 재난 문자와, 실종 안내 문자의 여론을 비교하여 여론이 좋지 않은 긴급 재난 문자의 개선점을 제안하는 것이다.  그렇기 때문에 변경한 주제로 다시 프로젝트를 기획하기 시작했다. 다른 조에 비해 도중에 주제가 바뀐 우리 조에게는 절대적인 시간이 많은 편은 아니었다. 원래라면 내가 코드의 전반적인 부분을 작성하고 팀원들에게 마무리를 부탁했을 텐데, 이번 경우에는 ..

[15일차] ABC 부트캠프 이미지 크롤링 및 프로젝트 주제 선정

1. 동적 크롤링을 활용하여 이미지 데이터 추출하기오늘은 동적 크롤링을 이용하여 구글 상의 이미지를 다운로드하는 코드를 작성하였다.늘 그렇듯 사용할 라이브러리 먼저 호출한다.1-1. 라이브러리 호출# 1. 필요 모듈 임포트from selenium import webdriverfrom webdriver_manager.chrome import ChromeDriverManagerfrom selenium.webdriver.chrome.service import Service as ChromeServicefrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysimport urllib.requestimport ..

[14일차] ABC 부트캠프 동적 크롤링을 이용한 노래 가사 분석

금일 배운 내용은 어제와 크게 다른 바 없다. 하지만 달라진 알고리즘에 대해 분석해보자.1. 라이브러리 호출 및 동적 크롤링을 위한 기본 설정해당 사진을 확인해보면 지난 게시물과 크게 다를 것이 없을 것이다. 하지만 다른 점이 있다면 By라는 모듈을 호출한 것이다. By 모듈은 키워드를 전달하게 되면 해당 키워드를 검색할 수 있게 된다. 또한 re라이브러리를 호출함으로써 정규표현식을 사용하여 문자열을 정제할 수 있게 된다. 나머지 라이브러리들과 기본 설정들은 지난 게시물에 모두 설명이 되어 있으니 링크를 참고하자. 지금까지는 2중, 3중 반복문을 이용하여 데이터들을 크롤링 했었다. 하지만 이번에는 크롤링 함수를 선언하여 함수 내부에 기능을 구현해보았다.  함수의 매개변수를 보게 되면 url과 start ..

[13일차] ABC 부트캠프 동적 크롤링 및 시각화

1. 동적 크롤링동적 크롤링이란 동적 웹 사이트의 데이터를 추출하는 방법으로, 동적 웹 사이트는 url만으로 접근할 수 없는 웹 사이트를 말한다. 즉 데이터를 로딩해 오거나, 특정 정보를 알고 있어야만 접근할 수 있는 웹 사이트는 동적 크롤링을 사용해야한다는 뜻이다. 동적 크롤링에 대한 기본 개념을 알아봤으니 동적 크롤링 예제를 함께 살펴보자. 1-1. 라이브러리 호출동적 크롤링을 위해 다음과 같은 라이브러리를 가져와야한다.selenium 라이브러리는 사용자가 직접 제어하지 않아도, 코드에 따라 자동으로 동작할 수 있게 도와준다. ChromeDriverManager 라이브러리는 우리가 사용 중인 크롬의 버전이 최신 버전과 같을 경우 웹 페이지를 열어 작업이 가능하고, 버전이 맞지 않을 시 자동으로 다운로..

[12일차] ABC 부트캠프 ESG Day(데이터로 보는 분야)

유클리드소프트 주관 두 번째 ESG 포럼&세미나(ESG Day)가 개최되었다. 이번 ESG Day의 주제는 데이터로 보는 분야였다. 세 분의 연사님들을 초청해 진행되었고, 다들 데이터 분석, 정보 보안 쪽으로 전문적인 지식을 가지고 계셨다. 배울 점도 많았고, 본받고 싶은 점도 정말 많았기에 의미 있는 시간이었다.1. 더 안전한 세상을 위해NSHC 사의 윤선희 이사님께서 강연을 진행해주셨다. 이야기의 주제는 '더 안전한 세상을 위해'이다. 사이버 보안 관련 업무를 진행하는 NSHC 회사는 창업 초기 많은 우여곡절이 있고, 자리를 잡기 이전에도 다사다난한 기업이었다. 또한, 국내 기업으로 안주하지 않고 중소기업이지만 세계적으로 뻗어나갈 수 있었던 이야기들을 들으며 내면의 노력들을 느낄 수 있는 시간이었다...

[11일차] ABC 부트캠프 파이썬을 이용한 데이터 크롤링 1

지나간 인연을 뒤로하고, 새로운 교수님을 모셨다. 한남대학교 경영정보학과 교수님이 앞으로의 수업을 진행해주신다고 하셨다. 지금까지는 read_csv 함수를 이용하여 기존의 데이터 파일을 불러오는 것이 아닌 웹에서 표시되는 데이터들을 원하는 부분만 긁어오는 것을 크롤링이라고 한다. 크롤링에는 정적 크롤링과 동적 크롤링이 있다. 먼저, 정적 크롤링은 웹 페이지의 HTML 소스코드를 직접 다운로드하여 데이터를 추출하는 방법이다. 이 방법은 서버에서 제공하는 정적인 HTML 컨텐츠만을 대상으로 한다. 동적 크롤링은 JavaScript를 통해 동적으로 생성된 컨텐츠를 수집하는 방법이다. 정적 크롤링이 정적인 데이터를 대상으로 하기 때문에 정적 크롤링을 많이 사용하지만, 동적 크롤링 또한 필요로 의해 여러 곳에서 ..

[10일차] ABC 부트캠프 파이썬 프로젝트(데이터분석)

오늘은 새로운 개념을 더 배우진 않았고, 지금까지 배웠던 개념들을 돌아보고, 새로운 프로젝트를 진행하는 시간을 가졌다. 프로젝트 내용은 크게 5단계로 이루어져 있다.데이터 불러오기결측값 및 파생 변수 생성데이터 집계 및 부분선택데이터 집계 및 데이터 처리데이터 프레임 저장5단계를 자세하게 하나씩 살펴보자.1. 데이터 불러오기주어진 csv파일은 다움과 같다. 2022년도 서울의 아파트 실매매가에 대한 데이터인데, 이를 데이터프레임으로 변환하고, 데이터프레임의 전체적인 크기, 각 변수 별 데이터 유형들을 확인해보는 코드를 작성해야한다.import pandas as pddf_trade = pd.read_csv('./아파트(매매)_실거래가_서울_2022.csv', encoding = 'CP949', ..

[9일차] ABC 부트캠프 파이썬을 이용한 데이터 처리 심화

1. 피봇 테이블(Pivot table)피봇 테이블이란 많은 양의 데이터에서 필요한 자료만을 뽑아 새롭게 표를 작성해주는 기능을 말한다. 그렇기 때문에 행과 열을 지정해서 원하는 데이터로 만들고, 그 안에 각각의 행렬에 맞게 데이터를 집계할 수 있다. 또한 'aggfunc' 매개변수를 통해 집계함수를 사용할 수 있다. 예시를 함께 보면 좋을 것 같다.데이터프레임명.pivot_table( values = '실제 데이터가 되는 값', index = '기준 레이블1', columns = '기준 레이블2', aggfunc = '집계함수')비교를 원하는 값을 values의 매개변수로 넘기게 되고, index, columns의 매개변수로는 기준이 되는 레이블들을 정해준다. 이때 values를..

[8일차] ABC 부트캠프 Pandas를 이용한 데이터 분석 1

실제로 파이썬 수업을 나간지 2주차가 되었다. 파이썬 기초와 pandas 기초를 배울 땐 들어본 내용이기에 이해와 응용이 쉬웠지만 이제부터는 달라지는 것 같다. 슬슬 전공 단어들도 들어보게 되고, 앞으로 얼마나 더 어려워질 지 기대된다. 1. Pandas 데이터 프레임의 변수 선택저번 시간에 loc(), iloc() 메서드를 이용해 위치 값 혹은 인덱스 값으로 데이터를 특정지었다. 하지만 데이터분석을 하다보면 데이터의 위치를 모르거나, 조건을 이용하여 값을 찾는 경우가 있을 것이다. 그럴 때 우린 함수를 사용해서 값들을 추출해야한다. 먼저 함수를 이용하여 변수를 선택하는 방법에 대해 알아보자.1-1. 함수를 이용한 변수 선택우리는 filter메서드를 통해 원하는 columns를 추출할 수 있다. 데이터프..

[7일차] ABC 부트캠프 파이썬 데이터분석 및 Pandas 모듈

부트캠프를 시작한 지 벌써 일주일이 지났다. OT부터 ESG데이, 파이썬 기초를 배우고 나서 이제 데이터분석의 첫걸음을 디뎠다. 지금까진 파이썬의 기초를 다지는 시간이었다면 앞으로는 데이터 핸들링부터 머신러닝, 딥러닝까지 배우게 된다. 앞으로의 시간이 유익할 수 있게 노력해야지. 1. 데이터 분석이란?데이터 분석은 크게 6단계로 나뉜다. 1. 문제 정의 단계는 분석하고자 하는 문제를 명확히 이해하고 정의하는 과정이다. 해결하고자 하는 문제를 구체화하고, 필요한 데이터와 분석 범위를 결정하기도 한다.2. 데이터 수집 단계는 분석에 필요한 데이터를 모으는 과정이다. 데이터는 다양한 출처에서 수집될 수 있으며, 필요한 데이터를 다양한 형태로 수집하거나, 데이터의 질과 적합성을 평가한다. 데이터를 저장 혹은 관..