본문 바로가기

전체 글26

[웹 크롤링 데이터 엑셀 저장] 1. 라이브러리 임포트from openpyxl import Workbook 2.워크북 생성wb = Workbook()wb = Workbook(write_only=True)엑셀 파일을 워크북이라고 합니다. 워크북을 만들기 위해선 Workbook()을 쓰면 되는데요. 파일에서 데이터를 읽어오지 않고, 데이터를 저장하기만 하는 경우 write only 모드를 써 주는것이 퍼포먼스에 도움이 됩니다. write only 모드는 write_only=True로 설정해 줄 수 있습니다. 3.워크시트 생성ws = wb.create_sheet()ws = wb.create_sheet('워크시트_이름')다음은 워크시트입니다. 워크시트는 데이터가 저장돼 있는 시트(sheet) 하나를 뜻합니다. 워크북에는 여러 워크시트가 있을 .. 2024. 8. 20.
[데이터프레임 마스터하기] 14. 데이터 내보내기 CSV 파일로 내보내기 .to_csv()는 기본적으로 인덱스에 있는 값들을 컬럼으로 만들어 줍니다index라는 파라미터 값의 기본값이 True로 되어 있기 때문이죠.loan_df.to_csv('data/loan1.csv') 잘 내보내졌나 확인하기 -> 다시 읽어loan_df1 = pd.read_csv('data/loan1.csv')Unnamed: 0으로 인덱스에 있던 숫자값들이 컬럼으로 추가되었음.  = 불필요한 컬럼이 새로 생김  불필요한 컬럼이 생기지 않도록 index 값을 기본값 True 대신 False로 설정DataFrame에서 인덱스는 제외하고, loan_id부터 loan_status까지 컬럼에 있는 값들만 내보낼 수 있습니다.loan_df1.to_csv('data/loan2.csv', inde.. 2024. 7. 10.
[dataframe] 데이터 삭제하기 drop() 함수 사용하기.로우 삭제 - 로우의 인덱스 값 넣어주기컬럼 삭제 - columns = 파라미터 사용해서 컬럼 이름 넣어주기  # columns 파리미터에 리스트값을 넘겨주면 한번에 여러개의 컬럼을 삭제할 수도 있음loan_df = loan_df.drop('LP1006')#low가 아니라 column 삭제하기 #drop은 기본적으로 row 삭제 함수이기 때문에 column삭제하기 위해서는 columns = 붙이기 loan_df.drop(columns = "married")  매개변수  axis 파라미터 : 연산을 컬럼방향으로 ? 로우 방향으로 ?  행, 로우 지우기 : axis  = 0, axis = 'index'drop()에서 axis의 기본값은 로우를 삭제하는 것을 의미하는 0loan_df.. 2024. 7. 10.
[dataframe] query() 함수로 인덱싱 query() 사용해서 간단하게 ! loan_df[loan_df['income'] > 5000]loan_df.query('income > 5000') #조건식 안에 문자열을 넣어야 할 때. 큰 따옴표와 작은 따옴표 사용하기#조건식 안에 문자열을 넣어야 할 때. 큰 따옴표와 작은 따옴표 사용하기loan_df.query("property_area == 'City'") #등호나 부등호로 된 식 말고 True, False 리턴하는 조건식 loan_df.query("property_area in ['City','Suburb']")loan_df.query("property_area not in ['City', 'Suburb']") #query에서도 여러 개의 조건을 결합해서 사용 가능loan_df.query("ma.. 2024. 7. 10.
[dataframe] 중앙값 구하기 median() median메서드는 행/열의 값들의 중앙값을 계산DataFrame.median( axis=None, skipna=None, level=None, numeric_only=None, **kwargs) median의 매개변수1. axis : 행(axis=0) 또는 열(axis=1) 기준으로 계산2. skipna : NaN 값(skipna=True)을 제외하거나 NaN 값(skipna=False)을 포함3. numeric_only : numeric_only=True의 경우float, int 및 boolean 열만 포함\import pandas as pd# 데이터프레임 전체(컬럼별) 중앙값 구하기da.. 2024. 7. 10.
📊 데이터 인사이트 :오픈 서베이 ; 트렌드리포트 https://blog.opensurvey.co.kr/research-tips/data-visualization/ 데이터 시각화란? 시각화 툴 추천 등 자주 하는 질문 총정리 [FAQ] - 오픈서베이 블로그데이터 작업을 처음 하는 실무자는 데이터 시각화 단계를 중요하게 여기지 않거나, 시각화를 잘하는 데 어려움을 겪습니다. 이번 글에서는 데이터 시각화 정의, 목적, 대표적인 데이터 시각화blog.opensurvey.co.krhttps://blog.opensurvey.co.kr/category/trendreport/ 최신 트렌드 리포트 다운로드 - 오픈서베이 블로그먹고, 사고, 시간을 보내는 소비자의 모든 일상을 분석한 오픈서베이 오리지널 트렌드 리포트blog.opensurvey.co.kr트 2024. 7. 9.
[Seaborn] 날씨가 추운 11~2월 겨울에는 사용량이 적다 = 사람들이 자전거를 많이 안 타나보다.  workingday 와 holiday 의 데이터 타입을 str로 변경 후 0을 n으로, 1을 y로 데이터 변경 df = pd.read_csv("bike.csv")df[['workingday','holiday']] = df[['workingday','holiday']].astype(str)df[['workingday', 'holiday']] = df[['workingday', 'holiday']].replace({'0': 'n', '1': 'y'})df  막대 그래프 그리기 (x : 월 , y = 전체 사용량, 카테고리 일하는 날 y or n  ) sns.set_theme(rc={'figure.figsize': (8,.. 2024. 7. 9.
[SQL] 공부 시작이야~~~~ 🥕1일차 : 2024-07-05 ✅  ✅ 조건을 나타내는 다양한 방법  조건1 :  30세 이상부터 39세 이하까지 포함 ➡️ BETWEEN A AND B : A에서 B까지 SELECT * FROM copang_main.member WHERE age BETWEEN 30 AND 39; 조건2 : 30대만 제외하고 확인하기  ➡️ + NOTSELECT * FROM copang_main.member WHERE age NOT BETWEEN 30 AND 39;조건 3 : 2019년 1월 1일 이후로 가입한 회원들만 ➡️ 부등호 '>' 크다 DATE 값끼리 부등호를 사용해서 조건 만들기 SELECT * FROM copang_main.member WHERE sign_up_day > '2019-01-01'; 조건 .. 2024. 7. 7.
[기초 통계와 시각화] 📊 통계 어떤 상황을 쉽게 이해할 수 있도록 숫자로 정리하는 것기술 통계 : 기술하다에 집중 describe : 기술하다descriptive statistics: 기술 통계ex _ 배달 별점, 타율, 백분율에 따른 등급      앞으로 사용할  Seaborn : statistical Data Visualization: 통계 기반 데이터 시각화 툴 01. 통계 기본 상식수치형 데이터 : Numerical data 계산과 크고 작음을 비교 가능 평균 : average중간값 : median 정렬 후 중간에 있는 값 median을 기준으로 양 옆을 또 다시 median그러면1사분위 수(25%) , 3사분위수(75%/)4수분위 수 = 최댓값 100 %2사분위 수는 중간값이 됨.  50 %    짝수 개의 경우 .. 2024. 7. 5.
[Pandas] 판다스로 그래프 그리기! 라이브러리 임포트import pandas as pdimport matplotlib.pyplot as pltplt.plot[sales_df['quarter'], sales_df['revenue'])plt.show()sales_df.plot()plt.show()데이터 프레임의 정보를 가지고 판다스가 유추해서 그림을 그림파란 선 : 매출주황 선 : 비용  #x 축과 y축에 들어갈 내용을 따로 정할 수도 있음 . #선 그래프 sales_df.plot(x='quarter', y = 'revenue') #x 축에 분기, y축에 매출plt.show()#x 축과 y축에 들어갈 내용을 따로 정할 수도 있음 . #막대 그래프sales_df.plot(x='quarter', y = 'revenue', kind = 'bar').. 2024. 7. 5.
[판다스] 특정 조건에 맞는 데이터 필터링하기 # 버거 데이터를 예시로 !  1. 모든 햄버거들(전체 행) 칼로리만(특정 열만) 보기burger_df['calories'] 2. 칼로리가 500 미만인 햄버거만 가져오기 = 특정 조건에 해당하는 행만 가져오기burger_df['calories'] True = 500 미만False = 500 이상  type 불린  =  판다스 시리즈가 만들어짐시리즈 안에는 True, False 값들이 들어감기존 인덱스(상품명)은 유지            4. masking _ 필터링하기 burger_df.loc[burger_df['calories'] True 에 해당하는 값(ROW)들만 필터링 되어서 출력  즉 모든 컬럼에 대해 특정 컬럼의 조건에 해당하는 값들(로우)만 보임.   5. 행 ROW를 필터링했는데 모든 컬.. 2024. 7. 5.
[1일차][얼룩소][경제/소비자] 심판이 선수로 뛰는데… 공정한 경쟁이 가능할까 https://alook.so/posts/Djtleva 심판이 선수로 뛰는데… 공정한 경쟁이 가능할까 by 공익허브 - 얼룩소 alookso📢공익허브는 매주 월요일 '미션 100'을 연재합니다. 한국사회에 필요한 제도적 변화 100가지를 이야기합니다. 공정거래위원회가 쿠팡에 1400억원의 과징금을 부과했어요. 쿠팡이 상품 검색결과alook.so 문제 : 쿠팡이 알고리즘 조작, 자사 제품을 검색 상단에 노출결과 : 공정거래위원회가 쿠팡에 1400억원 과징금 부과. 쿠팡은 거래를 중개하는 플랫폼이자 자사 제품을 판매하기도 하는 이중적 지위.PB상품 (Private Brand)유통업체가 제조업체에 위탁하여 제품을 생산한 후, 유통업체 브랜드로 출시하는 형태입니다. 마케팅이나 유통비용이 절약되기 때문에 가격이.. 2024. 7. 4.