22일차 멋사 AI스쿨 main lecture by 박조은 강사님 오늘의 키워드는 절약 1) 메모리절약 => downcast, 2) 스토리지 절약(디스크공간) => parquet Downcast 실습 먼저 자료형에 대해 자세히 알아보았다. int64와 int32의 차이, uint, float 등 같은 숫자 자료형 안에서도 정수형인지 실수형인지만 구분할 뿐만 아니라, 표현할 수 있는 범위가 다르다. 예를 들어 어떤 일련번호의 원래 데이터형은 int64이고, 최소값은 666668, 최대값은 999987 이고 앞으로 음수는 사용하지 않는다고 가정할 때 어떤 데이터 타입을 사용하면 적절할까? -> unit32가 적절하다. 데이터의 범위(int64, uint32 등)에 따라 메모리에서 차지하는 용량이 다르다. 현..
21일차 멋사 AI스쿨 special lecture by 데이터리안 인프런 SQL 중급 강의 (JOIN, UNION) 중급 문제 풀이 (solveSQL, 해커링크, 리트코드) -> SQL 공부방 매출 분석 ARPU = 매출 / 전체 유저 수 (Average Revenue Per User) ARPPU = 매출 / 결제 유저 수 (Average Revenue Per Paying User) 매출 = 결제 유저 수 X ARPPU 매출 = 유저 수 X 결제자 비율 X ARPPU 전체유저수 / 결제 유저의 비율 / 인당 결제액 등 어떤 변수가 전체 매출 변화에 영향을 미치는 지 파악해야한다. AARRR 서비스 성장 분석 방법론 A(Acquisition, 획득): 광고 등의 방법으로 새로운 사용자를 얻어오는 단계 A..
20일차 멋사 AI스쿨 main lecture by 박조은 강사님 Seaborn 복습 https://seaborn.pydata.org/tutorial.html relplot, displot, catplot 큰 범주는 외우기! 한글폰트 적용 설정 import koreanize_matplotlib # 그래프에 retina display 적용 %config InlineBackend.figure_format = 'retina' # 제대로 적용 되었는지 확인해보기 pd.Series([1,-1]).plot(title="한글") 의약품 처방데이터 분석 (100만명의 데이터 중 33만명 파일 활용) csv 파일 위치 찾아서 불러오기 (glob) from glob import glob # glob("data/HP_*.c..
19일차 멋사 AI스쿨 main lecture by 박조은 강사님 EDA 실습 전국 신규 민간 아파트 분양가 데이터 분석 (전혀 다른 형태의 데이터 합치기) 통계청 KOSIS 데이터 분석 (깔끔한 데이터의 이해와 국가통계포털 이용법) 전국 신규 민간 아파트 분양가 데이터 분석 melt (열에 있는 데이터를 행으로 녹이기) id_vars = 에 지정하는 값은 녹이지 않고 남길 컬럼 지정 https://pandas.pydata.org/docs/user_guide/reshaping.html#reshaping-by-melt # 아래 두 개는 같은 결과 # df.melt(id_vars="지역") df_melt = pd.melt(df, id_vars="지역") 데이터를 녹인 다음엔 variable, value 컬럼..
18일차 멋사 AI스쿨 main lecture by 박조은 강사님 - 서울시 코로나 확진자 데이터 분석 실습 마무리 - 분석하기 좋은 데이터란 (Tidy Data) - 아파트 분양가 데이터 분석 실습 시작 describe(include = ‘object’) count 결측치를 제거한 빈도수 unique 중복값을 제거한 유일값 top 최빈값 freq 최빈값의 빈도수 replace 메서드 - 데이터 프레임, 시리즈에 모두 사용 - replace는 완전히 일치해야 적용 → regex=True를 통해 일부만 가능하게 바꿀 수 있다. str.replace - 시리즈에만 사용가능 - str.replace는 해당 텍스트만 포함되면 바뀌게 된다 - str.contains도 시리즈에만 사용가능 (str이 series a..
EDA map: 시리즈만 가능, df[”column1”].map(함수 or dictionary) apply: 시리즈와 df둘 다 가능, df.apply(함수) applymap df만 가능, df.applymap(함수) lamda함수: 이름 없는 함수 간단한 기능은 함수를 만들지 않고, lamda 활용 간단한 전처리에 유용 # map과 lamda 연습 def find_year(x): return x[:4] #df1["생산연도"] = df1["생산일"].map(lamda x : x[:4]) df1["생산연도"] = df1["생산일"].map(find_year) df1 tqdm 오래 걸리는 작업 진행 상황을 파악하기 위해 사용 from tqdm.notebook import tqdm tqdm.pandas() m..
오늘의 회고 사실(Fact) : 서울정보소통광장 120 데이터 수집하기 (목록, 내용) 느낌(Feeling) : 이해도가 조금 높아지니까 흥미가 더 생겨서 다른 페이지도 웹스크래핑에 도전해보고 싶어졌다. 교훈(Finding) : 오늘 수업 복습, 과제로 전체 데이터 가져와보는 것을 해봐야겠다. 멋사 AI스쿨 main lecture by 박조은 강사님 지난 주 복습 웹스크래핑은 requests로 수집하고 bs로 파싱하고 해석한다고 표현한다. with 구문은 메모리를 할당 → 파일을 오픈할 때 주로 사용한다 로봇배제 표준 robot.txt 네트워크탭 Headers에서 get인지 post인지 확인 가능 프로그램을 구현하기 전에 과정을 정리해보는 단계가 중요하다. 팀플을 할 때도 이런 과정을 미리 공유해보고 시..
목요일은 인싸이트데이, 우리팀의 발표 주제는 API였다. 발표팀으로 선정되서 정말 오랜만에 발표를 했는데 1~2분 정도의 짧은 분량이지만 떨리기도하고, 또 어떻게 잘 전달할까 고민하면서 의사소통 스킬을 조금 더 키울 수 있는 기회였던 것 같다! API API란? API(Application Programming Interface)는 클라이언트, 서버와 같은 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계이다. API의 정의, 요청과 응답 부분은 비전공자를 위한 이해할 수 있는 IT지식 도서를 참고했다. (비전공자를 위한 이해할 수 있는 IT 지식) 요청과 응답(request, response) 클라이언트는 요청(request)을 보내고, 서버는 요청을 받아서 응답(response)을 ..