본문 바로가기

데이터분석40

[Python] Pandas : DataFrame 함수 - loc, iloc 이 블로그 포스트에서는 pandas의 인덱싱 기능인 loc과 iloc에 대해 깊이 있게 다룹니다. loc과 iloc의 차이점, 사용 방법, 그리고 실제 데이터 분석 작업에서 어떻게 활용할 수 있는지에 대한 다양한 예시를 제공합니다. loc과 iloc 설명loc: "label-based location"의 약자입니다. 이 명칭에서 알 수 있듯이, loc은 데이터프레임에서 라벨(label), 즉 행과 열의 이름을 기반으로 데이터를 선택하는 방식입니다. loc은 DataFrame의 행과 열을 라벨을 통해 접근할 때 사용됩니다. 기본적인 문법은 다음과 같습니다.df.loc[row_label, column_label]iloc: "integer location"의 약자입니다. iloc은 정수 인덱스(integer .. 2024. 8. 11.
[Python] Pandas : Dataframe 함수 - groupby() 사용법 이 글에서는 python의 대표적인 데이터 관련 함수인 groupby의 원리, 사용법에 대해서 알아보겠습니다. 대표적으로 사용하는 인자와 집계 함수의 종류와 예시도 살펴보겠습니다.  groupby 함수는 데이터프레임을 그룹으로 분할하고 각 그룹에 대해 연산을 적용할 수 있습니다. SQL의 GROUP BY와 똑같은 기능을 합니다. 이 함수는 데이터를 그룹화하고 그룹화된 데이터를 다양한 방법으로 분석하고 처리하는 데 사용됩니다. groupby 함수의 작동 방식은 아래와 같이 분할 -> 적용 -> 결합 단계를 거치게 됩니다.분할(Splitting):groupby 함수는 데이터프레임을 기준 열(또는 열의 리스트)에 따라 그룹으로 분할합니다.이 기준 열의 값에 따라 데이터가 여러 그룹으로 나뉩니다.적용(Apply.. 2024. 7. 27.
[Python] Pandas : Dataframe 함수 - reset_index() reset_index() 함수는 Pandas 라이브러리에서 사용되는 함수로, 데이터프레임의 인덱스를 초기화하거나 재설정하는 데 사용됩니다. 이 함수는 인덱스를 리셋하고, 기존 인덱스를 데이터프레임의 열로 변환할 수 있는 다양한 옵션을 제공합니다. reset_index() 함수의 주요 기능과 사용법을 설명하겠습니다. 기본 사용법기본적으로 reset_index() 함수는 데이터프레임의 인덱스를 기본 숫자 인덱스로 재설정합니다.import pandas as pd# 예제 데이터프레임 생성data = { 'A': [1, 2, 3], 'B': [4, 5, 6]}df = pd.DataFrame(data, index=['a', 'b', 'c'])print("Original DataFrame:")print(d.. 2024. 6. 9.
[Python] Pandas : Dataframe 함수 - replace() pandas 라이브러리에서 DataFrame의 특정 열의 값을 다른 값으로 대체하기 위해 replace() 메서드를 사용할 수 있습니다. df['A'].replace()는 DataFrame df의 'A' 열에 대한 대체 작업을 수행합니다. replace() 메서드의 문법은 다음과 같습니다: DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad')  여기서 df['A']에 대해서 replace()를 사용할 때 주로 사용되는 인수는 to_replace, value, inplace입니다. 예제는 이들을 중심으로 설명하겠습니다. 주요 인수to_replace: 교체하려는 값입니다. 단일 값,.. 2024. 6. 9.
A/B 테스트를 통계적으로 신뢰할 수 있게 하기 위한 사전 작업들 A/B 테스트를 진행할 때, A그룹과 B그룹의 조건이 동일하지 않다면 실험 결과를 신뢰할 수 있을까? 또한, 실험 대상의 양이 너무 작다면? 실험 결과의 차이가 미미하다면? 이 글에서는 A/B테스트 결과를 신뢰할 수 있는 방법에 대해서 알아볼 것이다. 왜 A/B테스트를 하는가? 현실 세계에서 한정된 자원으로 새로운 아이템의 효과를 검증하기 위한 가장 좋은 방법이기 때문이다. 사례) 오바마 대선 캠프 가족의 모습이 담긴 이미지와 LEARN MORE 버튼은 기존 안 대비 각각 18.6%, 13.1%의 가입률 증가를 보였으며 두 아이템을 조합한 페이지의 경우 40.6% 가입률 증가 여기 A/B 테스트의 더 다양한 성공 사례가 있다. UX/UI 디자이너가 새로운 앱 디자인을 만들었다고 가정해보자. 이 UI를 새.. 2024. 4. 14.
BeautifulSoup을 이용한 정적 크롤링 개념 정리 및 실습 해당 글에서는 BeautifulSoup을 사용해서 정적 크롤링을 하는 방법에 대해서 알아본다. 크롤링 실습을 하기 전에 기본적인 웹 동작 원리에 대해서 알아야 하기 때문에 이론 적인 부분 먼저 설명한다. 대표적인 get과 post 방식 크롤링을 실습한다. 웹 동작 원리 크롤링은 웹사이트의 정보를 수집하는 과정이다. 따라서 웹이 어떻게 동작하는지 이해할 필요가 있다. 클라이언트란 데스크톱이나 휴대폰과 같은 장치이다. 혹은 크롬이나 파이어폭스와 같은 소프트웨어를 의미한다. 서버는 웹사이트와 앱을 저장하는 컴퓨터를 의미한다. 클라이언트가 특정 정보를 요구하는 과정을 요청(Request)이라고 하며, 서버가 해당 정보를 제공하는 과정을 응답(Response)이라고 한다. 클라이언트와 서버가 연결되어있지 않다면 .. 2024. 3. 15.
MySQL 다운로드 및 설치하는 방법 해당 글은 MySQL 다운로드 및 설치하는 방법에 대해 설명된 글입니다. MySQL을 사용하기 위해서는 MySQL Community Server와 MySQL Workbench 2가지를 설치해야 합니다. 이 2가지의 다운로드 및 설치 방법에 대해서 알아보겠습니다. 1. MySQL community Server 설치 mysql community server를 검색한 뒤, 해당 사이트에서 아래와 같이 최신버전, OS를 선택하고, MSI Installer의 Download를 클릭한다. 그런 다음, No thanks, just start my download를 클릭하면, 파일 한개가 다운로드된다. 그 파일을 열어서 다음 순서를 따라 한다. 1. Next 2. 'I accept the terms in the Lic.. 2024. 3. 10.
윈도우 작업스케줄러로 파이썬 파일 자동화시키는 방법 3가지 파이썬으로 코딩을 했는데, 이 .py 파일을 윈도우에서 원하는 시간대에 자동으로 실행되게끔 자동화시키려면 어떻게 해야 할까? 그 방법은 '작업스케줄러'를 사용하면 된다. 이 걸 사용해서 파이썬 파일을 자동화시키는 방법 3가지에 대해서 알아보겠다. 우선 원하는 주기마다 실행시킬 .py 파일을 만들었다면 다음 순서를 따라 해보자. 1. 작업스케줄러 실행 실행시키면 다음과 같은 화면이 뜨는데, 여기서 '작업 만들기...'를 클릭한다. 2. '일반' 메뉴 세팅 '일반' 메뉴에서 세팅해야 할 건 3가지다. 쉽게 알아볼 수 있는 '이름' 설정 작업을 실행할 때 사용할 사용자 계정 -> Administrators로 변경 '가장 높은 수준의 권한으로 실행' 체크 작업을 실행할 때 사용할 사용자 계정을 Administr.. 2024. 3. 10.
5가지 사례를 통해 알아보는 A/B테스트의 필요성 해당 글에서는 검색엔진 빙(Bing), 넷플릭스, 아마존, Booking.com, 오바마 대선이 A/B테스트를 통해 극적인 성장과 성공을 이룬 사례에 대해서 알아보겠습니다. 목차 검색엔진 빙(Bing) 넷플릭스 아마존 Booking.com 오바마 대선 1. 검색엔진 빙(Bing) 2012년 검색엔진 빙(Bing)과 관련된 작업을 하던 마이크로소프트의 한 직원이 검색엔진에서 광고 헤드라인을 보여주는 방식을 변경하자는 아이디어를 냈다. 아이디어를 실행하는데 기술적으로 어려운 작업은 아니었지만 수백 건의 아이디어 중 하나였기 때문에 우선순위에 밀려 6개월 동안 진행되지 않았다. 마침내 이 아이디어는 진행되었고 프로그램 코드를 짜는데 크게 어렵지 않고 비용도 적게 든다는 사실을 알아내고 한 엔지니어가 효과를 평.. 2024. 3. 8.
[BigQuery] 신규사용자가 첫 접속날짜에 남긴 이벤트만 필터링 이글에서는 user_pseudo_id 또는 user_id를 활용해서 신규사용자가 처음 접속한 당일에 발생시킨 이벤트들만 필터링하는 방법에 대해서 알아볼 것이다. user_id를 수집하고 있지 않은 경우, 사용자를 식별할 수 있는 user_pesuo_id를 사용해야 한다.(user_id 관련 글) 이를 사용하여 사용자가 가장 처음 사이트를 접속한 날짜를 필터링하는 방법을 알아보자. SELECT user_pseudo_id, event_date FROM `프로젝트ID.events_*` WHERE event_name = 'first_visit' 위와 같이 쿼리를 작성하면, user_pseudo_id를 기준으로 'first_visit' 이벤트를 발생시킨 날짜만 필터링되어서 출력된다.('first_visit'는 유.. 2024. 2. 25.
[BigQuery] event_date 날짜 형식 변경 방법 BigQuery의 event_date 날짜 형식을 보면, 20240225 이런식으로 되어있는 걸 볼 수 있다. 이러한 날짜 형식을 변경하고 싶을 때 사용할 수 있는 문법을 정리해봤다. 1. PARSE_DATE(format_string, date_string) 이 함수는 텍스트 형식의 날짜형태를 날짜 형식으로 바꾸는 함수이다. format_string 부분에는 원본 데이터의 날짜형태를 그대로 입력해주어야한다. 예를 들어 event_date의 형태가 20240225이었기 때문에 아래와 같이 %Y%m%d 형태로 작성해주는 것이다. 다른 예시로 event_date의 형태가 24/02/25 였다면, format_string 부분에 %y/%m/%d 형태로 작성해야한다. PARSE_DATE('%Y%m%d',event.. 2024. 2. 25.
퍼스트파티 DB → 파이썬 → 구글 시트 → 슬랙 연결 자동화 방법 이 글에서는 퍼스트파티 DB, 즉 회사 내부 데이터를 SQL로 추출해서 구글 시트에 적재하고, 슬랙에 자동으로 시트의 데이터를 전송하는 과정을 알아볼 것입니다. 이 과정을 파이썬과 Apps Script를 활용하여 전부 자동화시키는 것이 목적입니다. 목차 1. 퍼스트파티 DB, 파이썬 연결 2. 파이썬, 구글 시트 연결 3. 구글 시트, 슬랙 연결 4. 파이썬 자동 실행 방법 1. 퍼스트파티 DB, 파이썬 연결 이 부분은 이전에 포스팅했던 적이 있다. 참고하도록 하자. 파이썬에서 MySQL 쿼리로 DB 데이터 끌어오는 방법 파이썬과 MySQL을 연동하여 DB 데이터를 끌어오는 방법에 대해서 간단하게 알아보겠습니다. 꼭 필요한 코드만 담았습니다. 또한, 끌어온 데이터로 시각화하는 방법까지 공유드리겠습니다 :.. 2024. 2. 3.