Python(12)
-
고객 주문 내역 분석: 중복 제거와 최신 주문 정보 남기기
고객 주문 내역 분석: 중복 제거와 최신 주문 정보 남기기고객의 주문 내역을 분석하는 과정에서 중복된 정보를 처리하는 것은 매우 중요한 작업입니다. 특히 한 고객이 여러 번 주문한 경우, 각 고객의 최신 주문만 남기고 이전 주문은 제거해야 할 필요가 있습니다. 이번 글에서는 이러한 과정을 간단하게 설명하겠습니다.1. 데이터 준비우선, 고객의 주문 내역을 담고 있는 데이터프레임을 준비해야 합니다. 이 데이터프레임에는 고객 번호, 주문 날짜 및 시간, 주문 내용 등의 정보가 포함되어 있습니다. 예를 들어, 아래와 같은 데이터가 있을 수 있습니다:Customer No.Sale Date & TimeItem Name1012024-06-01 14:30:00A1012024-06-10 16:00:00B1022024-0..
2024.11.11 -
Pandas의 filter() 메서드: 그룹화 후 조건으로 필터링하기
매출 분석, 고객행동분석 등 실무에서 많이 쓰이는 그룹화! 그룹화 한 후 특정 조건에 부합하는 그룹만 필터링하고 싶다면?? 데이터 분석을 진행하다 보면, 특정 조건을 만족하는 데이터만을 추출하고 싶을 때가 많습니다. Pandas 라이브러리는 이를 위한 강력한 도구를 제공하는데, 그 중 하나가 바로 filter() 메서드입니다. 특히, 그룹화한 후 조건에 맞는 데이터만을 선택할 때 filter() 메서드는 매우 유용합니다. 이번 포스트에서는 그룹화와 필터링의 조합을 통해 원하는 데이터를 효율적으로 추출하는 방법에 대해 알아보겠습니다. 그룹화와 필터링의 중요성데이터셋이 클 경우, 특정 조건에 맞는 데이터를 찾는 것은 쉽지 않을 수 있습니다. 이럴 때는 데이터를 그룹화하여 각각의 그룹에 대해 조건을 적용하는 ..
2024.09.20 -
Python 실무 - 파이썬 그룹 기준으로 데이터 통일하기
pandas 데이터프레임에서 .loc를 활용한 데이터 선택 및 수정pandas는 데이터 분석과 조작을 위한 강력한 파이썬 라이브러리입니다. 데이터프레임은 pandas의 핵심 데이터 구조로, 테이블 형식의 데이터를 저장하고 처리할 수 있습니다. 데이터프레임에서 특정 행과 열을 선택하거나 수정할 때 유용한 방법 중 하나가 바로 .loc입니다. 이 글에서는 .loc의 사용 방법과 예시를 소개합니다..loc 기본 개념.loc는 pandas 데이터프레임에서 행과 열을 선택하거나 수정할 때 사용하는 인덱서입니다. 구문은 다음과 같습니다:dataframe.loc[행_인덱스, 열_이름] 행_인덱스: 선택하거나 수정할 행의 인덱스를 지정합니다.열_이름: 선택하거나 수정할 열의 이름을 지정합니다. 예시 1: 단일 인덱스를..
2024.08.30 -
[Python 실무] 하위컬럼 불러오기
빨간 네모친 컬럼을 가르키고 싶음. 문제는 컬럼이 이중으로 되어있다는 점. 아래와 같이 표시할 수 있다 DF ['상위컬럼명'] [ '하위 컬럼명']
2024.06.29 -
[Python 실무] 파이썬 날짜 년/월/일/시간/분/초로 변환하기 - 1초컷
매출분석, 시계열분석에 필수로 알아야 하는 함수 : DATETIME 사용목적: 연도/월/일/시간/분/초로 되어 있는 날짜/시간 데이터를 각 필요한 부분만 추출하기 위해 #함수를 사용하기 위해 항상 pd.to_datetime을 먼저 써준다. 데이터를 이 함수를 적용할 수 있는 형태로 바꾸는 작업이다. 데이터프레임 [ ' 날짜 컬럼명 ' ] = pd.to_datetime ( 데이터프레임 [ ' 날짜 컬럼명 ' ] ) Date Components (날짜 구성 요소)dt.year: 연도dt.month: 월 (1부터 12까지)dt.day: 일dt.date: 년-월-일 Time Components (시간 구성 요소)dt.hour: 시간 (0부터 23까지)dt.minute: 분 (0부터 59까지)d..
2024.06.20 -
[Python 실무] 그룹으로 묶어서 데이터 계산하기 (.groupby/ .count() .size().reset_index(name= ' '))
데이터 그룹으로 묶는 방법 a) .groupby ( [ 'A', 'B' ] ) [ ['___'] ] . count ( ) b) .groupby ( [ 'A', 'B' ] ) [ ['___'] ] . size ( ) b) .groupby ( [ 'A', 'B' ] ) [ ['___'] ] . size ( ) . reset_index ( name = 'count' ) 위의 세 가지 방법의 결과값은 모두 동일하다. . 다만 표현 방식에 있어 아주 약간의 차이가 있을 뿐. 아래의 데이터는 Store별 Order Type의 각 개수를 센 결과값이다. a) .groupby ( [ 'A', 'B' ] ) [ ['___'] ] . count ( ) 결과값이 Pivot table처럼 겹치는 경우에는 병합이 되었다. 그리..
2024.06.15 -
[Python 실무] 경쟁사 가격 크롤링 - 여러 업체/브랜드/회사 물품 가격 데이터 수집하기
지난 글에 이어서 이번에는 복수 업체들의 데이터를 한 번에 크롤링 하는 방법을 다루겠다. # 각 브랜드와 URL 정의brand_urls = { "경쟁사1": "url1", "경쟁사2": "url2", "경쟁사3": "url3", "경쟁사4": "url4", "경쟁사5": "url5", "경쟁사6": "url6"}# # 웹 드라이버 설정# options = Options()# options.headless = True # 화면 출력 안 함 (백그라운드 실행)# driver = webdriver.Chrome(options=options)# 결과를 저장할 리스트 초기화data = []# 각 브랜드에 대해 반복for brand, url in brand_urls.items()..
2024.05.17 -
[python 실무] 파이썬 공백 기준 단어 분리 (split)
Goal: split을 이용해 문장을 공백 기준으로 단어 나누기 상황: 여러 단어가 구분 없이 담겨있음 목표: 공백 기준으로 단어 구분해주기 re.split('A',B) 해결방법1: re.split('A', B) A: 구분 기준 ex) 줄바꿈 기준으로 분리: '\n' B: 구분할 것(텍스트) ex) shortword(위의 예시) 분리가 되긴 했지만 지저분하게 분리되었다. 특히 ", . 이렇게 분리된 이유는 분리할 기준은 띄어쓰기 한 칸(공백): " "이고 공백과 공백사이까지 표현되었기 때문이다. 즉, A(공백)B => A, B A(공백)(공백)B => A, (공백)과(공백)사이(즉,''), B 위의 방법보다 훨씬 더 간단히 할 수 있는 방법이 있다. .split() 해결방법2: A.split() A: 구..
2022.04.02 -
[Python Error] AttributeError: 'list' object has no attribute 'text'
상황: element -> elements로 바꿈 [=> AttributeError 에러 뜸] : List 형식으로 여러 데이터 추출됨. : 다만, 한 개 추출한 경우에는 .text를 사용해 ID 데이터가 불러올 수 있으나, 여러개를 불러온 경우 .text사용 시 에러뜸. ** 에러 이유: 리스트 객체에는 text()메소드를 지원하지 않음. (Webelement 인스턴스에서 text메소드 사용 가능) !! 해결방법: 반복문으로 하나씩 돌리기
2022.03.25 -
[python 실무] 구글 리뷰 크롤링 #2. 더보기 자동클릭
지난 글 보기 지난 글에서는 여러 데이터를 크롤링 하는 방법을 다뤄보았다. 하지만 데이터가 잘려서 크롤링 된 문제가 발생했는데, 이 글에서 함께 해결해보도록 하자. [Python] 구글 리뷰 크롤링 #1. 데이터 여러 개 가져오기 문제사항 : 모든 리뷰를 가져오고 싶지만 가장 첫 리뷰만 크롤링 되었다. 에러원인: 컨테이너 범위 잘못 지정 크롤링 할 데이터를 가져오기 전, 각 데이터를 포함하는 하나의 컨테이너를 지정해 world-insight-seeker.tistory.com 문제사항 : 데이터가 완전히 크롤링 되지 않음 에러원인: '더보기(More)' 클릭 안함 해결 : 더보기(More)를 클릭하는 코드 추가
2022.03.25