본문 바로가기

서비스 기획/☁️ 데이터 분석 공부18

[췻쉿] 한번에 여러 데이터프레임에 함수 적용, csv 파일 추출 Pandas DataFrame cheatsheet 데이터 분석을 한층 편리하게 해 줄 여러 가지 기능들 내가 아직 외우지 못한 기능을 한 번에 찾을 수 있게 모아놨다. 여러 데이터프레임에 같은 함수를 돌려 각각의 csv 파일을 뽑고 싶을 때 - group A, B, C, D의 값이 들어있는 데이터프레임 A_df, B_df, C_df, D_df가 있음 - 각 그룹의 시청시간 합계를 뽑는 함수를 돌리고 csv 파일을 뽑고 싶음 - group이 많아질수록 해당 과정이 점점 번거로워짐 - group별 데이터프레임을 각각 함수에 넣고 csv 파일을 추출하는 과정을 for문으로 자동화 #일일 시청시간 합계, 인당 평균 시청시간을 구하는 함수 def get_daily_duration(df): duration_df =.. 2023. 5. 13.
[췻쉿] 결측값 처리 Pandas DataFrame cheatsheet 데이터 분석을 한층 편리하게 해 줄 여러 가지 기능들 내가 아직 외우지 못한 기능을 한 번에 찾을 수 있게 모아놨다. 결측값 처리 방법 4가지 참고 자료: 한양사이버대학교 데이터사이언스개론 0) null이 있는 열 확인 #컬럼별 확인 df.isna().sum().reset_index() #각 컬럼별 결측치의 비율 df.isna().sum() / len(df) 1) 삭제하기 drop_missing_data = rawData.dropna() #axis=0: null값이 있는 행 삭제 / axis=1: null값이 있는 열 삭제 #how='any': null값이 하나라도 있으면 삭제 / how='all': 모든 값이 null이면 삭제 2) 0으로 채우기 fil.. 2023. 3. 25.
[췻쉿] query, assign, type, 문자열, print Pandas DataFrame cheatsheet 데이터 분석을 한층 편리하게 해 줄 여러 가지 기능들 내가 아직 외우지 못한 기능을 한 번에 찾을 수 있게 모아놨다. 데이터프레임 복사본 만들기: df.copy() df_new = df_raw.copy() 원하는 조건으로 추출하기: df.query() 아래 두 개는 동일한 결과를 만드나, query를 쓰면 "df."를 컬럼 앞에 항상 붙일 필요가 없다는 장점이 있음. #1 df.query('컬럼명>10') #2 df[df.컬럼명>10] 여러 파생변수 한 번에 추가하기: df.assign() df.assign(뉴컬럼명 = df.컬럼1 + df.컬럼2, 뉴컬럼명2 = (df.컬럼1 + df.컬럼2) / 2) #lamdba로 더 간단히 쓰고 싶을 경우 df.a.. 2023. 2. 26.
미국 데이터 분석 석사 선수과목 채우기 올 초 미국 데이터 분석 석사를 알아보았는데, 돈만 낸다고 쉽게 갈 수 있는 게 아니었다. 본인 학력에 공학 베이스가 없다면 공학 관련 수업을 들어서 선수과목을 채워야 한다. 미국 데이터 분석 석사 지원 시 채워야 하는 선수과목은 대략 이러하다. 필수: Calculus (미적분), Linear Algebra(선형대수), Statistics (통계학), Intro to CS or Programming (컴퓨터공학 기초) + 하면 좋음: 이산수학, 자료구조 우리나라에서 미국 데이터 분석 석사를 지원하신 분들은 사이버대학교, 방송통신 대학교에서 학점을 받아 선수과목을 채우는 것 같아 그 길을 따르기로 했다. 해외 대학 수업도 온라인으로 들을 수 있지만 가격이 만만치 않아 포기했다. Coursera 등 온라인 .. 2022. 12. 27.
[췻쉿] DataFrame으로 모든 데이터 모으는 방법 Pandas DataFrame cheatsheet 데이터 분석을 한층 편리하게 해 줄 여러 가지 기능들 내가 아직 외우지 못한 기능을 한 번에 찾을 수 있게 모아놨다. 1) DataFrame을 합친 후 (merge 전/후) 중복 제거하기: df.drop_duplicates() df.drop_duplicates(subset=['user_id','content_id','date'], keep='first', inplace=True) drop_duplicates subset = [열1, 열2, ...] 어떤 열을 기준으로 중복을 검사할 것인지 정하기. 여러 개 설정 가능. 디폴트는 전체 열 keep = {‘first’, ‘last’, False} 중복값이 있을 경우 어떤 값을 살릴 것인지 False = 중복값.. 2022. 12. 24.
주니어 PM의 데이터 분석 학습기 주니어 PM이 데이터 분석을 공부하는 이유 데이터 분석을 공부해야겠다고 마음먹은 것은 PM 2년 차인 2020년이었습니다. 사실 대학을 다닐 때까지만 해도 저는 수학과는 거리가 먼 사람이라고 생각했어요. 고등학교 시절에 수리 영역과 씨름할 때, 대학교를 가면 더 이상 수학과 마주하지 않아도 된다는 사실을 위안 삼아서일까요. 대학 교양 수업도 가능하면 수학이나 과학과 관련이 없는 과목을 들었습니다. 수학을 멀리하던 제 삶에 숫자들이 슬금 머리를 내민 것은 대학원 때였습니다. 정량 리서치 결과를 논문으로 쓰기 위해선 통계를 공부해야 했죠. 그때까지만 해도, 논문 쓰는 데 필요한 기본 통계 지식과 SPSS 쓰는 방법만 배우면 끝일 거라고 생각했습니다. 입사 후 1년이 지났을 때, 불운하게도 사수 매니저님이 다.. 2022. 8. 31.
인당 1일 평균 영상 시청 시간 구하기 (Python) 드디어 데이터 분석 공부했던 것을 실무에 써먹을 때가 왔다! 영상 시청 앱의 인당 1일 평균 체류시간을 구하기 위한 Python 코드를 정리했다. 평균 체류 시간은 일일 콘텐츠 시청 duration의 합으로 구했다. 1) 메인 코드 For문으로 DataFrame 채우기 - 각 날짜의 콘텐츠 시청 duration의 평균을 구할 수 있다. - .mean()과 .median()으로 평균값과 중간값을 구했다. import pandas as pd #데이터 df = pd.DataFrame({'date':[20220801, 20220801, 20220801,20220802,20220802,20220802], 'duration':[10,20,30,40,50,60]}) #df3: 새로운 DF 만들기 df3 = pd.Da.. 2022. 8. 26.
영등위 API에서 등급정보 자동으로 불러오기 0. 영상물등급위원회 API를 사용하게 된 배경 넷플릭스를 보면, 영상을 재생하자마자 좌측 상단에 등급정보가 팝업 형태로 뜬다. 이 기능을 구현하려면 넷플릭스는 영상물별 등급정보를 따로 들고 있어야 한다. 등급 정보를 불러오기 위해 영상물등급위원회(이하 영등위)의 API를 사용하는 편이 좋다. 연령등급 외에 등급분류번호, 등급분류일자, 내용 정보(폭력성, 선정성 등)가 있으므로 모든 데이터를 수기로 입력하기 어렵기 때문이다. 새로 나온 영화에만 등급 정보를 붙어야 한다면 제목을 기준으로 하나씩 검색해서 붙이면 되니까 큰 문제는 없다. 그러나 많은 수의 영상 콘텐츠에 등급 정보를 붙여야 한다면, 어떻게 자동화를 할 수 있을까? 나는 다음과 같이 자동화할 수 있다고 생각했다. 참고로 영등위 등급분류 검색 사.. 2022. 7. 30.
[코드잇] 데이터 사이언스 입문 수강 완료! 코드잇 "데이터 사이언스 입문" 수료 후기 코드잇 "데이터 사이언스 입문" 클래스를 수료했다. 만세! 기말평가는 95점을 맞았다. (무엇이 틀렸는지 알고 싶은데 안 알려주네..ㅎㅎ) 수료까지 약 2주 정도 소요됐다. 주말에 시간 내서 조금 열심히 하고 주중에 2번 정도 1시간 정도 하니까 금방 했다. 가장 시간이 오래 걸린 건 "데이터 프레임 다루기"의 마지막 퀴즈였다. 지금 생각해도 난이도가 참 높았다. 크롤링 과제도 쉽진 않았는데, 그래도 가장 어려운 과제는 데이터 프레임 다루기였다. 코드인 "데이터 사이언스 입문" 클래스는 파이썬 수업을 몇 번 들은 후 복습 용도로 듣기 좋은 수업이었다. Datacamp처럼 퀴즈가 조금만 더 많았으면 학습에 용이하지 않았을까 하는 약간의 아쉬움이 있다. 🔥 코드잇에.. 2022. 7. 18.