본문 바로가기

파이썬24

[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.
BeautifulSoup을 이용한 정적 크롤링 개념 정리 및 실습 해당 글에서는 BeautifulSoup을 사용해서 정적 크롤링을 하는 방법에 대해서 알아본다. 크롤링 실습을 하기 전에 기본적인 웹 동작 원리에 대해서 알아야 하기 때문에 이론 적인 부분 먼저 설명한다. 대표적인 get과 post 방식 크롤링을 실습한다. 웹 동작 원리크롤링은 웹사이트의 정보를 수집하는 과정이다. 따라서 웹이 어떻게 동작하는지 이해할 필요가 있다. 클라이언트란 데스크톱이나 휴대폰과 같은 장치이다. 혹은 크롬이나 파이어폭스와 같은 소프트웨어를 의미한다. 서버는 웹사이트와 앱을 저장하는 컴퓨터를 의미한다.    클라이언트가 특정 정보를 요구하는 과정을 요청(Request)이라고 하며, 서버가 해당 정보를 제공하는 과정을 응답(Response)이라고 한다. 클라이언트와 서버가 연결되어있지 않다.. 2024. 3. 15.
윈도우 작업스케줄러로 파이썬 파일 자동화시키는 방법 3가지 파이썬으로 코딩을 했는데, 이 .py 파일을 윈도우에서 원하는 시간대에 자동으로 실행되게끔 자동화시키려면 어떻게 해야 할까? 그 방법은 '작업스케줄러'를 사용하면 된다. 이 걸 사용해서 파이썬 파일을 자동화시키는 방법 3가지에 대해서 알아보겠다.  우선 원하는 주기마다 실행시킬 .py 파일을 만들었다면 다음 순서를 따라 해보자. 1. 작업스케줄러 실행 실행시키면 다음과 같은 화면이 뜨는데, 여기서 '작업 만들기...'를 클릭한다.  2. '일반' 메뉴 세팅 '일반' 메뉴에서 세팅해야 할 건 3가지다. 쉽게 알아볼 수 있는 '이름' 설정작업을 실행할 때 사용할 사용자 계정 -> Administrators로 변경'가장 높은 수준의 권한으로 실행' 체크 작업을 실행할 때 사용할 사용자 계정을 Administr.. 2024. 3. 10.
퍼스트파티 DB → 파이썬 → 구글 시트 → 슬랙 연결 자동화 방법 이 글에서는 퍼스트파티 DB, 즉 회사 내부 데이터를 SQL로 추출해서 구글 시트에 적재하고, 슬랙에 자동으로 시트의 데이터를 전송하는 과정을 알아볼 것입니다. 이 과정을 파이썬과 Apps Script를 활용하여 전부 자동화시키는 것이 목적입니다. 목차1. 퍼스트파티 DB, 파이썬 연결2. 파이썬, 구글 시트 연결3. 구글 시트, 슬랙 연결4. 파이썬 자동 실행 방법 1. 퍼스트파티 DB, 파이썬 연결 이 부분은 이전에 포스팅했던 적이 있다. 참고하도록 하자. 파이썬에서 MySQL 쿼리로 DB 데이터 끌어오는 방법파이썬과 MySQL을 연동하여 DB 데이터를 끌어오는 방법에 대해서 간단하게 알아보겠습니다. 꼭 필요한 코드만 담았습니다. 또한, 끌어온 데이터로 시각화하는 방법까지 공유드리겠습니다 :) 파.. 2024. 2. 3.
파이썬 웹 크롤링 환경세팅(VScode, miniconda, selenium) 및 예시코드 이 글에서는 크롤링을 위한 VScode, miniconda 환경 세팅부터 Selenium, ChromDriver 자동관리 라이브러리 설치 방법까지 알아볼 것이다. 또한, 실습이 가능하도록 실제로 구글 스토어 댓글을 크롤링하는 코드를 제공한다.  파이썬 코딩을 할 때, 흔히 사용하는 Colab은 크롤링이 실제로 동작하는지 볼 수 없다. 반면 VScode에서는 이를 확인할 수 있다.다만  VScode에서는 .ipynb파일을 실행하려면 파이썬 에디터인 Jupyter Notebook이 필요하다. miniconda는 Jupyter Notebook과 파이썬에서 필요한 최소한의 라이브버리들, 그리고 가상환경을 관리할 수 있게 만들어진 툴이다. 따라서 환경세팅을 위해 VScode와 miniconda를 먼저 다운로드 받.. 2023. 12. 10.
[프로그래머스] 진료순서 정하기 - 파이썬(index함수) 리스트에 담긴 숫자가 큰 순서대로 순위를 리스트 형태로 출력하는 문제이다. 코드 제출하고 보니 가장 많은 표를 받은 코드와 똑같아서 가져왔다.   * 이어드림스쿨 3기 참여하면서 진행하고 있는 스터디에서 발표한 내용입니다. (23년 6월 14일 코드리뷰 스터디 발표내용) 기존 코드# Day08 진료순서정하기 self 기존 Code def solution(emergency): # emergency 숫자 하나씩 뽑아서(e) 내림차순 정렬시킨 emergency기준으로 인덱스(e) +1을 출력 return [sorted(emergency, reverse=True).index(e)+1 for e in emergency] 코드 풀이# Day08 진료순서정하기 self 기존 Code 보안/개선한 Code & C.. 2023. 6. 15.
[프로그래머스] 피자나눠먹기(2) - 파이썬(최대공약수, 최소공배수) 프로그래머스 코딩테스트 입문에서 Lv0에서나오는 피자나눠먹기(2) 문제이다. 피자는 6조각으로 나눠주고, n명의 사람이 한조각도 남김없이 똑같이 나눠먹어야하는 문제이다. 파이썬으로 최대공약수, 최소공배수를 구하는 함수를 만들어서 풀이했다.   * 이어드림스쿨 3기 참여하면서 진행하고 있는 스터디원 분이 작성한 코드를 제가 풀이한 내용입니다.(23년 6월 7일 코드리뷰 스터디 발표내용) 기존 코드# day4 피자나눠먹기(2) 기존 Codedef gcd(a, b): if b == 0: return a return gcd(b, a%b)def lcm(a, b): # 최소공배수 return a*b // gcd(a, b)def solution(n): return lcm(n,6).. 2023. 6. 8.
[프로그래머스] 최빈값 구하기 - 파이썬(Counter) 프로그래머스 코딩테스트 입문에서 Lv0에서나오는 최빈값 구하기 문제이다. array리스트 나오는 숫자 중에 최빈값을 리턴하는 문제이다. 파이썬의 Counter 함수를 활용했다.   * 이어드림스쿨 3기 참여하면서 진행하고 있는 스터디원 분이 작성한 코드를 제가 풀이한 내용입니다.(23년 6월 7일 코드리뷰 스터디 발표내용)기존 코드# Day3 최빈값구하기from collections import Counterdef solution(arr): cnt = Counter(arr) modes = [k for k, v in cnt.items() if v == max(cnt.values())] return modes[0] if len(modes) == 1 else -1 코드 풀이# Day3 .. 2023. 6. 8.
Selenium 모듈 설치 및 크롤링 환경세팅 Selenium 모듈 설치(feat. Visual Studio Code)1. Visual Studio Code 최신버전 설치 후, 실행2. Open Folser 클릭 -> C드라이브에서 본이만의 폴더 생성3. 왼쪽 Extantion 메뉴에서 "Python" 검색 후, 확장팩 설치4. 다시 Explorer로 돌아와 New File 클릭해서 파일 생성후, .py 파일로 변환5. 상단 Workspace에서 Show and Run Commands 클릭 후, Python: Select Interpreter 선택6. .py 파일 왼쪽 클릭 후, Open in integrated terminal 클릭7. pip install selenium 입력하여, 모듈 설치8. "chrome://settings/help" 를 입.. 2023. 4. 19.