STUDY/Pandas

STUDY/Pandas

[pandas] 데이터 생략없이 전체 출력하기

판다스 데이터프레임 생략 없이 전체 출력하기 # row 생략 없이 출력 pd.set_option('display.max_rows', None) # col 생략 없이 출력 pd.set_option('display.max_columns', None)

STUDY/Pandas

[pandas] plotly Funnel 분석

사용 데이터셋 https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce Brazilian E-Commerce Public Dataset by Olist 100,000 Orders with product, customer and reviews info www.kaggle.com 참고 블로그 https://velog.io/@heezeo/Olist-%EC%9E%AC%EA%B5%AC%EB%A7%A4-%EC%9C%A0%EB%8F%84%EA%B0%80-%EC%9E%98-%EC%95%88%EB%90%98%EB%84%A4%EC%9A%94 Olist, 재구매 유도가 잘 안 되네요? 데이터는 캐글의 데이터를 활용해보았다. Brazilian E-Commerce Olist의 ..

STUDY/Pandas

[pandas] 데이터프레임에 전처리 일괄 적용하기 (map, apply)

이런 데이터셋에서 '감동/감탄' 등 텍스트만 뽑기 위한 전처리 전체 데이터프레임의 컬럼들을 for문으로 돌면서 apply for col in emotion_df.columns: emotion_df[col] = emotion_df[col].apply(lambda x: x[1:-1].split(',')[0]) 정규표현식 적용하기 - '/'문자를 살리기위해 "\/" 추가 - progress_apply와 tqdm을 사용하면 진행도 표시 가능 import re def preprocessing(text): # 한글, 영문, 숫자만 남기고 모두 제거하도록 합니다. text = re.sub('[^가-힣ㄱ-ㅎㅏ-ㅣa-zA-Z0-9\/]', '', text) return text # tqdm 으로 전처리 진행 상태를 표시..

STUDY/Pandas

코랩에 한글폰트 적용하기

koreanize-matplotlib 설치 !pip install koreanize-matplotlib 실행 import koreanize_matplotlib 출처_https://github.com/ychoi-kr/koreanize-matplotlib GitHub - ychoi-kr/koreanize-matplotlib: install & import하는 것만으로 matplotlib에서 한국어를 표시할 수 있습 install & import하는 것만으로 matplotlib에서 한국어를 표시할 수 있습니다. - GitHub - ychoi-kr/koreanize-matplotlib: install & import하는 것만으로 matplotlib에서 한국어를 표시할 수 있습니다. github.com 함께 쓰는..

STUDY/Pandas

[Pandas] RFM 분석

해당 내용은 멋쟁이사자처럼 AI School 오늘코드 박조은 강사의 자료입니다. 중복제거하기 # 중복 데이터 중 첫번째 것만(keep='first') 봅니다. # keep은 중복 데이터 발견시에 어떤 데이터를 유지하고 제외할지 결정해주는 변수입니다. ('first', 'last','False'로 선택적 입력 가능) raw_valid[raw_valid.duplicated(keep='first')].sort_values(by=["InvoiceNo","StockCode"]) # 중복데이터 모두 출력(keep = False) 합니다. # raw_valid[raw_valid.duplicated(keep=False)].sort_values(by=["InvoiceNo","StockCode"]) # drop_dupli..

STUDY/Pandas

[pandas] 비즈니스 데이터 분석 실습 (2)

해당 내용은 멋쟁이사자처럼 AI School 오늘코드 박조은 강사의 자료입니다. 요일별 빈도수 # countplot 으로 요일별( InvoiceDow ) 구매 빈도수 시각화합니다. sns.countplot(data=df, x="InvoiceDow") # countplot으로 요일별( InvoiceDow ) 구매와 취소 빈도수 시각화합니다. # hue 옵션을 사용하면 특정 컬럼을 지정해서 표기할 수 있습니다. # hue="Cancel" 로 취소여부도 함께 봅니다. sns.countplot(data=df, x="InvoiceDow", hue="Cancel") # countplot으로 요일별( InvoiceDow ) 구매 **취소** 빈도수 시각화합니다. # df["Cancel"] == True 인 데이터로 ..

STUDY/Pandas

[pandas] 비즈니스 데이터 분석 실습 (1)

해당 내용은 멋쟁이사자처럼 AI School 오늘코드 박조은 강사의 자료입니다. 기술통계 df.describe() df.describe(include="object") 결측치 # 결측치 합계를 구합니다. df.isnull().sum() # 결측치 비율을 구합니다. df.isnull().mean() * 100 # 결측치를 시각화 합니다. plt.figure(figsize=(12, 4)) sns.heatmap(df.isnull()) 히스토그램으로 전체 수치변수 시각화 df.hist(figsize=(12,5)) 매출액 상위 국가 # 국가별 매출액의 평균과 합계를 구합니다. # TotalPrice를 통해 매출액 상위 10개만 가져옵니다. df.groupby("Country")["TotalPrice"].agg([..

STUDY/Pandas

[Pandas] 수치 변수 그룹 나누기

이산화 pd.cut() VS pd.qcut() bins == 그룹 개수 q == quantile # SalePrice - cut, qcut train["SalePrice_cut"] = pd.cut(train["SalePrice"], bins=4, labels=[1,2,3,4]) # q == quantile train["SalePrice_qcut"] = pd.qcut(train["SalePrice"], q=4, labels=[1,2,3,4]) 차이 알아보기 # "SalePrice_cut", "SalePrice_qcut" - value_counts display(train["SalePrice_cut"].value_counts()) display(train["SalePrice_qcut"].value_count..

STUDY/Pandas

[Pandas] pivot_table, crosstab, group by

피벗 테이블이란, 데이터를 요약한 통계표라고 볼 수 있으며, 기존 데이터를 활용해서 새로운 테이블을 만든 것을 말한다. 같은 목적의 기능이지만 쓰는 형태는 달라 쓰다보면 헷갈리는 판다스 문법 3가지를 한 번에 비교해보려고 한다. 1. 크로스탭 crosstab 주로 두 개의 변수의 빈도수 구할때 사용하기 쉽다. pd.crosstab(컬럼명1, 컬럼명2) # 두 개의 변수의데이터 빈도수 구하기 df_p = pd.crosstab(df["제주 중분류"], df["월"]) df_p.iloc[:5][:5] 2. 피벗테이블 pivot_table pd.pivot_table(data=df, index=컬럼1, , values=컬럼3) columns는 스킵 가능 df.pivot_table(index=["alive","cl..