1. Data Analyst/1-1. Python(32)
-
[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 실무] 파이썬 여러조건 제외한 데이터로 새로운 데이터프레임 생성하기 (복수조건걸기) - 1초컷
데이터프레임 df가 있다고 가정. df는 아래와 같다고 가정 Brand nameCategoryItemPrice ABCAPPETIZERFois gras$24 ABCSAUCEBalkan$2 LetinsonAPPETIZERFois gras - M$18 NelpanDESSERTCherry drink$9.5 LetinsonAPPETIZERFois gras - S$21 LetinsonDESSERTMango icecream$7 ABC와 Nelpan 회사 외의 모든 회사들만 필터링하는 코드를 작성해보자. n_df = df[~df['Brand name'].isin(['ABC', 'Nelpan'])] ~ 의 의미는 전체 문장을 부정한다. 그러므로 isin이 아닌 것 즉, Brand name이 ABC와 Nelpan..
2024.05.17 -
[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 실무] 경쟁사 가격 크롤링
온라인 오더 가격 기준으로 핵심 경쟁사 가격 데이터를 수집할 것이다.현상황에서는 대부분의 경쟁사들이 동일한 구조를 갖고 있다. 경쟁사 가격 조사 목적경쟁사가격 변동 트래킹자사 브랜드의 가격포지션 파악(1차 코드): 한 브랜드의 [카테고리 - 아이템 - 가격 - 수집날짜] 데이터 수집하기 ... 0. 필요한 라이브러리# 현재 설치되어 있는 라이브러리 확인# !pip list # 라이브러리 설치# !pip install pandas# !pip install numpy# !pip install matplotlib# !pip install selenium# !pip install beautifulsoup4# !pip install tqdm 1. 필요한 라이브러리 importimport time..
2024.05.17 -
[python 실무] pandas 천단위 구분, 소수점 2개만 보이기 - 1초컷
import pandas as pd # Pandas 소수점 및 천단위 구분 기호 지정 pd.options.display.float_format = '{:,.2}f'/format 위의 코드를 입력하면 결과값인 수치에 천단위로 ,를 이용해 구분이 될 것이고, 소수점도 2개만 보여질 것이다. 소수점을 한 자리만 보이고 싶다면 , .2 -> .1로 변경하면 된다.
2023.11.30 -
[python 실무] 파이썬 조건에 맞는 행만 제거하기 - 1초컷
파이썬을 사용하여 조건에 해당하는 행만 추출하고 제거하려면 어떻게 해야할까? 우선 기본적인 라이브러리를 불러온다. import pandas as pd import os import matplotlib.pyplot as plt 파일을 불러온다. file = 'file_name.csv' df = pd.read_csv(file, header=0) 여기서 서울인 행만 제거하려면 어떻게 해야할까? df = df_bc.drop(df_bc[df_bc['지역'] == '서울'].index, axis=0) df.head(10) # 조건에 맞는 행 삭제하기 df.drop(df[df['지역'] =='서울'].index, axis=0) # df['지역']=='서울' : df_bc프레임 지역 컬럼에서 서울인 모든 행 추출 # ..
2023.11.29 -
[python 실무] 파이썬 csv 파일 불러오기 - 데이터가 1행에 없는 경우 해결방법 - 1초컷
파이썬에서 csv 파일은 불러오는데 필요한 데이터가 1행에 없는 경우 어떻게 원하는 데이터를 불러올 수 있을까? 예를 들어 1,2행에는 업데이트 날짜와 데이터 입력방법에 대한 안내가 있다고 가정하자. 흔하게 불러오는 방법대로라면 1행이 자동으로 컬럼명이 포함된 행으로 설정된다. 하지만 데이터 파일이 아래와 같이 컬럼명이 4행에 있는 형태라면? import pandas as pd import os import matplotlib.pyplot as plt file = 'file_name.csv' df = pd.read_csv(file) df.head(5) 보여지는 결과는 1행이 기준이 되어 컬럼명에 Updated: 2031.07.03만 보일 것이다. 4행을 컬럼명이 있는 기준행으로 설정하기 위해서는 파일을 ..
2023.11.28 -
[python 실무 / 업무자동화] - 여러 pdf 파일 1개로 합치기
매일 개별 pdf로 날라오는 여러 인보이스 파일을 하나의 pdf 파일로 보관하려고 한다. 이 글에서는 아래의 두 가지 케이스를 다룰 예정이다. 즉, 아래의 두 코드 모두 주어진 경로에 있는 PDF 파일을 합쳐서 새로운 파일로 저장하는 작업을 수행하는 코드이다. 1. 폴더 안의 일부 파일만 하나의 PDF로 합치기 2. 폴더 안의 모든 파일 하나의 PDF로 합치기 또한 다음편에서는 하나의 pdf파일을 excel, csv 파일로 변환하는 것까지 다룰 예정이다. Python을 사용해 여러 PDF 파일 한 개로 합치는 방법 1. 라이브러리 설치 (PyPDF2 ) 2. 폴더 안의 일부 파일만 하나의 PDF로 합치기 (경로 찾는법) 2-1. 파이썬 파일경로 찾기 아래의 코드는 파이썬에서 파일의 경로를 찾는 코드이다...
2023.10.06 -
[python Error] SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \UXXXXXXXX escape
위의 에러가 발생한 원인은 경로 문자열 내에 역슬래시(`\`)가 제대로 처리되지 않았기 때문이다. 파이썬에서 역슬래시는 이스케이프 문자로 사용되므로, 경로를 나타내는 문자열에서 역슬래시를 사용할 때는 다음과 같이 처리해야 한다. 1. 역슬래시 대신 슬래시(`/`)를 사용하거나, 2. 역슬래시를 두 번 입력(`\\`)하거나, 3. 문자열 앞에 `r`을 붙여 "raw string"으로 처리 아래는 제공한 코드를 수정하여 역슬래시가 올바르게 처리되도록 한 예시이다: 문제코드: import pandas as pd # CSV 파일 경로 csv_file1 = "\Users\Python_L\Timely Sales\1.T.Sales_(Apr01~Apr31).csv" 해결후: import pandas as pd #CSV..
2023.08.30 -
[python 실무] Lambda함수 1분만에 완벽히 이해하기
파이썬 코드를 보다 보면 꽤 자주 만나는 lamda 함수. lambda함수를 사용하는 여러 이유가 있겠으나, 가장 대표적인 이유는 코드의 가독성을 높이기 위해서다. 여러줄로 작성한 코드를 lambda함수로 한 줄로 깔끔히 정리할 수 있기 때문이다. (복잡한 로직은 일반함수를 사용하는 것이 더 적합함) LEARNING by DOING 바로 예제로 들어가기. 1. 두 숫자를 더하는 간단한 Lambda 함수: 2. 주어진 숫자가 짝수인지 확인하는 Lambda 함수: 3. 문자열의 길이를 반환하는 Lambda 함수:
2023.08.06