
구글 플레이스토어의 앱을 비교 분석하기

🔍 유의 사항
- .sample(n) 메소드로 임의의 행 n개를 반환하여 데이터프레임 검사
- Last_Updated와 Android_Version 열 삭제하기
- .drop() 메소드로 제거하려는 열 이름 전달
axis=1으로 '열'을 삭제하도록 설정inplace=True로 기존 데이터베이스에 덮어쓰기- NaN 값(Rating 열에 포함)이 없는 새 데이터프레임 생성하기
- .dropna() 메소드로 삭제
- 중복된 앱 제거하기
- .duplicated() 메소드로 중복된 행만 뽑아 확인 (변수에 저장해야 함)
- .drop_duplicates() 메소드로 중복된 행 삭제
- 중복 항목을 식별하기 위해 비교해야 할 열 이름이 필요
🔍 유의 사항
- 가장 높은 평가를 받는 앱
→ 리뷰가 거의 없고 설치 횟수가 적은 앱들이 5점 만점- 가장 큰 앱의 크기
→ 앱 크기의 상한선이 100MB인 것을 확인 가능- 리뷰가 가장 많은 앱과 상위 50개에서 유료 앱의 비중
→ 리뷰 수 상위 50개 앱은 중 유료 앱은 없음
🔍 유의 사항
- .value_counts() 로 각 컨텐츠 등급별 횟수를 계산해서 변수에 저장
- 맷플롯립 대신 플로틀리(plotly) 사용
import plotly.express as px코드 추가- px.pie() 를 호출하여 파이 차트 생성
hole인자를 추가하면 도넛 차트가 됨- 차트 객체에 .update_traces() 메소드로 각 속성마다 이름 및 % 표시
🔍 유의 사항
- Installs 열에서 10억 회 이상 설치된 앱 개수 구하기
- .describe()나 .info()로 데이터 형식 확인
- 데이터 유형이 object 이므로 숫자 데이터로 변환 (다시 해당 열에 덮어씌워야 함)
- 먼저 문자열의 replace() 메소드로 쉼표 제거(빈 문자열로 변환)
- .to_numeric() 으로 숫자로 변환
- .groupby()와 .count()로 설치 횟수당 항목 수를 계산하고 순서대로 나열
- 가장 높은 수익을 올린 앱 상위 10개와 그 중 몇 개가 게임인지 조사
- Price 열의 데이터에서 $ 기호를 제거하고 숫자로 변환
- .sort_values()로 앱 가격이 비싼 순으로 나열
- 250불 이상의 앱을 데이터프레임에서 제거
(단순 재력 과시용으로 비싼 가격의 앱들은 데이터셋에 잘못된 영향을 주기 때문)- mul() 메소드로 데이터프레임에 새 열() 추가
🔍 유의 사항
- 어떤 카테고리가 가장 경쟁이 심한지 조사 (범주별 앱 수)
- .nunique() 메소드로 Category 열에서 고유값들의 수를 출력
- 플로틀리의 .bar() 메소드로 수직 막대 차트 생성
- 어떤 카테고리가 가장 인기가 많은지 조사 (범주별 앱 다운 수)
- .groupby()에 .agg() 메소드를 추가하여 카테고리별로 그룹화 후, 그룹별 연산하기
- .agg()에 합계함수 pd.Series.sum 사용
- 플로틀리의 .bar()에 매개변수로 방향을 추가하여 수평 막대 차트 생성
- 플로틀리의 .scatter()로 범주별 앱 수 옆에 범주별 앱 다운 수를 표시한 산점도 차트 만들기
- 카테고리(범주)를 인덱스로 하고, 인덱스별 앱 수를 열로 가진 데이터프레임 생성
- .merge()로 생성한 데이터프레임에 범주별 앱 다운 수 데이터프레임 병합
🔍 유의 사항
- 장르(카테고리보다 조금 더 세분화됨)의 종류 조사
- 하나의 앱이 2개 이상의 장르에 속하는 경우 중첩된 값이 발생하게 됨
- .split()에 .stack()을 연결하여 정확히 몇 가지의 장르가 있는지 확인하기
- .split()으로 장르 이름 구분(해당 데이터베이스의 경우 ;으로 각 이름 구분)
- .stack()으로 구분한 장르 이름을 단일 열에 추가(변수에 저장해야 함)
- .value_counts() 로 단일 항목이 있는 값 확인
- 플로틀리로 장르 데이터가 포함된 색깔 차트 생성 (내장된 색 활용)
color_continuous_scale매개변수로 색상 스케일 설정coloraxis_showscale매개변수로 오른쪽에 뜨는 색깔 스펙트럼 삭제
🔍 유의 사항
- 무료 앱과 유료 앱 구분하기
- 범주별로 데이터를 그룹화하고, 이를 타입(유료 여부)별로 다시 그룹화
- .groupby() 메소드에서
as_index=False매개변수로 인덱스 없이 모든 데이터를 열에 표시- 범주별 무료, 유료 앱의 총 개수를 보여주는 플로틀리 막대차트 생성
- .bar() 메소드의
color,barmode매개변수로 타입별 막대 색상 및 배치 위치 조정- .update_layout() 의 축 매개변수에 딕셔너리를 전달하여 특정 순서로 가져오기
- 플로틀리 .box() 메소드로 상자 플롯(통계 수치를 그래프화) 생성
- 무료 앱과 유료 앱의 설치 횟수를 조사하고 중간값 찾기
- 범주별 앱 수익(매출 추정치)의 중간값 찾기
{categoryorder':'min descending'}으로 범주 정렬- 유료 앱의 중간값 찾기
{categoryorder':'max descending'}으로 범주 정렬