반응형 전체 글277 MZ 성지 분석 프로젝트 (3): Seaborn jointplot으로 분석하는 리뷰 데이터의 상관관계 1. 시각화의 목적: 숫자에 가려진 '흐름'을 찾아서지난 시간에 우리는 지저분한 텍스트를 숫자로 바꾸는 인고의 시간을 보냈습니다. 하지만 데이터프레임에 나열된 숫자들만 봐서는 "성수동에서 가장 핫한 장소들의 특징"을 직관적으로 이해하기 어렵습니다. 이때 우리에게 필요한 것이 바로 데이터 시각화(Data Visualization)입니다. 단순히 막대 그래프를 그리는 것을 넘어, 오늘은 '방문자 리뷰 수'와 '블로그 리뷰 수'라는 두 변수가 서로 어떤 관계를 맺고 있는지 파악할 것입니다. 방문자가 많으면 당연히 블로그 포스팅도 많을까요? 아니면 방문자는 많지만 기록으로 남기지 않는 곳이 따로 있을까요? 이 질문에 답하기 위해 산점도(Scatter Plot)와 분포도(Histogram)를 동시에 보여주는 jo.. 2026. 5. 4. "MZ 성지 분석 프로젝트 (2): 판다스로 지저분한 리뷰 데이터 깔끔하게 정제하기" 1. 왜 데이터 정제(Data Cleaning)가 필요한가?우리가 크롤링을 통해 얻은 데이터는 컴퓨터가 이해하기에는 다소 '불친절'한 상태입니다. 예를 들어 "리뷰 1,500+"라는 텍스트는 사람에게는 명확하지만, 컴퓨터에게는 숫자가 아닌 문자열(String)일 뿐입니다. 이 상태로는 평균을 내거나 크기 순으로 정렬하는 통계 분석이 불가능합니다. 데이터 분석가들 사이에서는 "Garbage In, Garbage Out(쓰레기가 들어가면 쓰레기가 나온다)"라는 격언이 있습니다. 아무리 뛰어난 시각화 도구나 머신러닝 알고리즘을 써도, 기초가 되는 데이터가 정제되지 않았다면 그 결과는 신뢰할 수 없습니다. 따라서 오늘은 텍스트를 숫자로 변환하고, 불필요한 정보를 걷어내는 작업을 진행합니다.2. 판다스(Panda.. 2026. 5. 3. [파이썬 Selenium] MZ 성지 분석 1탄: 네이버 지도 크롤링으로 성수동 핫플 데이터 수집하기 1. 프로젝트의 시작: 왜 네이버 지도인가?MZ세대의 성지를 분석하기 위해 가장 신뢰도 높은 데이터는 무엇일까요? 바로 네이버 지도의 방문자 리뷰와 블로그 리뷰 수입니다. 하지만 네이버 지도는 보안이 까다롭고 검색 결과가 iframe 안에 숨겨져 있어 일반적인 크롤링으로는 접근이 불가능합니다. 이를 해결하기 위해 Selenium을 활용해 보겠습니다. 2. 핵심 기술 포인트 iframe 전환: 지도의 검색 결과 창은 별도의 HTML 문서(iframe)로 구성되어 있습니다. driver.switch_to.frame() 명령어가 필수입니다.동적 스크롤링: 처음 화면에는 몇 개의 가게만 나타납니다. 자바스크립트를 이용해 목록을 아래로 끝까지 밀어줘야 모든 데이터를 불러올 수 있습니다.CSS Selector 타.. 2026. 4. 23. 파이썬 웹 크롤링 심화: 차단 방지와 데이터 추출 핵심 테크닉 5가지 1. 원하는 데이터만 정확히 찍는 'CSS 선택자'크롤링의 핵심은 복잡한 HTML 문서 속에서 내가 원하는 데이터가 어디 있는지 정확히 컴퓨터에 알려주는 것입니다. select() 함수와 CSS Selector를 조합하면 매우 정교한 타겟팅이 가능합니다.클래스 선택자 (.): .title (클래스 이름이 title인 모든 요소)아이디 선택자 (#): #main_content (아이디가 하나뿐인 특정 요소)자식 선택자 (>): div > p (div 바로 아래에 있는 p 태그만)속성 선택자 ([]): a[href*="news"] (링크 주소에 'news'가 포함된 모든 a 태그) 2. 차단(Blocking)을 피하는 기술: User-Agent 설정웹사이트 운영자는 봇(Bot)의 접근을 차단하기도 합니다... 2026. 4. 21. 파이썬 웹 크롤링 입문: BeautifulSoup으로 뉴스 제목 1분 만에 수집하기 1. 웹 크롤링의 두 가지 기둥: 정적 vs 동적웹사이트의 구조에 따라 사용하는 도구가 달라집니다. 어떤 상황에 무엇을 써야 할지 아는 것이 효율적인 크롤링의 첫걸음입니다.정적 크롤링 (BeautifulSoup): 페이지가 한 번 로드되면 내용이 변하지 않는 사이트에 적합합니다. 속도가 매우 빠르고 서버 부하가 적습니다.동적 크롤링 (Selenium): 버튼 클릭, 무한 스크롤, 로그인 등 사용자의 상호작용이 필요한 '자바스크립트' 기반 사이트에 사용합니다. 브라우저를 직접 제어하므로 속도는 느리지만 강력합니다. 2. BeautifulSoup으로 데이터 낚아채기HTML 소스에서 내가 원하는 태그를 찾아 정보를 추출합니다. requests 모듈로 소스를 가져오고 BeautifulSoup으로 요리하는 방식.. 2026. 4. 20. 데이터 분석의 완성은 시각화! Seaborn으로 1분 만에 고퀄리티 그래프 만들기 1. Matplotlib vs Seaborn: 무엇을 써야 할까?파이썬 시각화에는 크게 두 가지 라이브러리가 쓰입니다. 각각의 역할을 이해하면 상황에 맞는 도구를 선택할 수 있습니다.Matplotlib: 파이썬 시각화의 기초. 세밀한 설정(축, 눈금, 텍스트 등)이 가능하지만 코드가 다소 복잡하고 디자인이 투박할 수 있습니다.Seaborn: Matplotlib을 기반으로 만든 고수준 라이브러리. 판다스 데이터프레임과 호환성이 매우 뛰어나며, 복잡한 통계 차트도 코드 한 줄로 세련되게 그려냅니다. 2. 데이터의 흐름을 보는 선 그래프와 막대 그래프가장 기본이 되는 시각화 방식입니다. 시간의 흐름(추세)은 선 그래프로, 항목 간의 크기 비교는 막대 그래프를 사용합니다.import matplotlib.pyp.. 2026. 4. 19. 데이터 분석가들이 숨겨둔 판다스 꿀팁: Pivot Table과 Reshape 활용법 1. 시계열 데이터(Time Series)의 마법주식 데이터나 로그 데이터처럼 '시간'이 포함된 데이터를 다룰 때는 판다스의 시계열 기능이 필수입니다. pd.to_datetime으로 변환하는 것을 넘어, 시간 단위로 데이터를 묶는 기술이 필요합니다.# 시간 데이터를 인덱스로 설정df['date'] = pd.to_datetime(df['date'])df.set_index('date', inplace=True)# 리샘플링(Resampling): 일일 데이터를 월 단위(M) 합계로 집계monthly_sales = df['sales'].resample('M').sum() 2. 데이터 재구조화: Pivot Table과 Melt엑셀의 가장 강력한 기능인 피벗 테이블을 판다스에서도 자유자재로 쓸 수 .. 2026. 4. 18. 엑셀은 이제 그만! 파이썬 판다스(Pandas) 필수 기능 5가지 상세 정리 1. 정교한 데이터 선택: loc와 iloc 마스터하기판다스에서 데이터를 추출할 때 가장 혼동하기 쉬운 부분이 인덱싱입니다. 두 방식의 차이를 정확히 아는 것이 데이터 분석의 시작입니다.loc: 레이블(이름)을 기준으로 인덱싱합니다. df.loc[0, '이름']iloc: 정수 인덱스(순서)를 기준으로 인덱싱합니다. df.iloc[0, 1]2. 데이터 필터링: Boolean Indexing특정 조건에 맞는 데이터만 골라내는 기법입니다. 엑셀의 '필터' 기능과 같지만, 여러 조건을 조합할 때 훨씬 강력합니다.# 나이가 30세 이상이면서 도시가 '서울'인 데이터만 추출condition = (df['나이'] >= 30) & (df['도시'] == '서울')filtered_df = df[condition]# is.. 2026. 4. 17. 이전 1 2 3 4 ··· 35 다음 반응형