Oxygen Cherry - Pencil
본문 바로가기

새싹 데이터 분석 교육 (24.05.13~24.08.16)/TIL

SQL 데이터 분석 프로젝트 5일차 - 0717

728x90

[성동2기 전Z전능 데이터 분석가] 0717

 

 

SQL 분석 프로젝트 5일차

❇️ 오늘 배운 내용 
1. 리뷰 키워드 가설을 대강 정리 
2. 했던 가설들 PPT에 정리 
3. 8번째 가설 슬쩍 

 

 

주요 개념

 

COUNTIF()            
             

 


오전 강의 

 

| 소제목

요약

 

  • 프로덕트 선정

 

 

 

 

ㄹㄹ

 

 

 

ㄹㄹ

 

오전: 리뷰 키워드 대충 추리는 중 (가설 추가용) 

오후: 했던 가설 7개 공용 PPT에 정리. 

 


오후 강의 

| 소제목

요약

 

 

  • 프로덕트 선정

 

2016년 거랑 2018년 9월?은 너무 적어서 뺌?

 

다른데느 가설 세워서 함.. 

얘네가 이런이런 상황이다 그렇다면? 이런 식으로...  

 

 

 

  • 선형관계 분석을 엑셀로 하기 

 

나 내 검증이 불확실한 거 같고 확실하게 모르겠어서 고민하고 있었는데 

우리 조 통계학과 분이 선형관계, 상관계수 이런 용어 쓰면서 하고 계시길래 

어떻게 하는지 여쭤봤다. 

 

그 분은 원래 쓰던 통계 프로그램 써서 하셔서 엑셀로 하는 법 알려주셨는데 

 

 

 

이거 하면 된다고 함 ㄷㄷ 

글자수를 배열1로, 제품 수 대비 주문량을 배열2로 넣는거지..... 

 

 

이거 크다고 해서 무조건 상관관계가 있다고 볼 순 없는데 

그럴 경우 유의 가설을 검증하면... 선형관계를 알 수 있다고... 

 

 

 

 

가설 관련해서.

 

 

내 가설이... 쇼핑몰 제품 제목의 길이가 판매량에 연관 있느냐인데... 

 

  • 브라질 쇼핑몰 글자수가 보통  어떻게 되지? 

 

하미 플라워 바스락 원피스 

=LEN("Vestido de Barra de Flores Hami")

포르투칼어로 번역 

 

=LEN("ASOMBROSO DESCUENTO 👜 BOLSO PARA DAMA 2X1 🤩 + ENVÍO GRATIS")

60자 

놀라운 할인 👜 여성용 포켓 2x1 🤩 + 무료 배송 

https://centrocomercialom.com/collections/all 

 

Products

ONLINE MALL

centrocomercialom.com

 

 

제목들이 다 이러는데 믿어도 될까? 

 

이러는데 평균적으로 긴 건지.. 아니면 여자 옷 특징인지 아님 쿠팡 같은 종합 쇼핑몰인 건지...

 

 

 

 

  • 더 조사해야 할 내용
  1. 브라질 인터넷 쇼핑몰 문화
    1. 올리스트 외 다른 쇼핑몰도 제목 글자수가 50~60 정도 될까?
    2. 여기 쇼핑몰만 제목에 무료배송 이런 거 자주 붙는 건지, 아님 브라질 쇼핑몰은 대체로 그런건지? (우리나라는 안그러는지?)
    3. 쿠팡 등 다양한 셀러가 모인 저가 쇼핑몰의 경우 키워드 검색을 위해 제목이 길어지는 경향이 있는데, 브라질 인터넷 쇼핑몰 시장은 어떨까?
      1. 일단 우리나라는 소규모 단독 온라인 쇼핑몰도 활성화되어 있다. (자세한건 통계를 찾아야 하겠지만) 쿠팡 등만 활성화되어 있진 않다는 것. 
  2. 우리나라와으 쇼핑몰 제목 특성 차이 
    1. 우리나라 옷을 포르투칼어로 바꾸니 20~30자 정도 되던데
    2. 우리나라 언어는 자음과 모음이 합쳐져서 단어가 되지만, 영어 등은 알파벳이 여러개 모이는데, 포르투갈어도 그런 경향이면 자연스럽게 길어질 것.  

 

 

 

 

 

  • 그래서 올리스트는 왜 망한걸까? 

 

알리바바 때문인가? 밀린 건가? 

일단 팀원이 말한 거로 추측해보면 

여기가 큰 메리트가 없었던 거 같다고, 배송비 특장점이 있는 것도 아니고 뭐하고 뭐하다 했는데 . 뭐였을까? 

 

 

 

 

기술적인 내용

 

 

  • 엑셀 =COUNTIF()

=COUNT(OR($D$2:$D$51 = '긍정',$D$2:$D$51 = '긍정일듯한')) 안됨
=COUNTIF($D$2:$D$51,= G1) 안됨
=COUNTIF($D$2:$D$51,"="&G1) 드뎌

 

 

  • countif, countifs, sumif, sumifs 
    • 조건과 범위에 =가 생략되어 있다고 봐야 함. 범위가 = 조건인 걸 계산해라~ 
    • IFS에는 AND가 생략된 거임. 조건1 AND 조건2 AND... 다 해당되는 걸 찾아야. 
    • 썸이프스는 약간 다르니 주의할 것. 
      • 썸이프s : 계산범위, 범위, 조건, 범위, 조건, ... (컴터 안헷갈리게 앞에 나옴) 
      • 썸이프: 범위, 조건, 계산할 범위 (범위의 내용이 이 조건인 것을 찾아서 계산 범위를 합해라)
      • 카운트: 범위, 조건, 범위, 조건, ... (계산범위 따로 필요없음. 단순 갯수 세니까.)

 

 

  • 조건 걸어 비교하기: SQL-엑셀-파이썬 비교

 

SQL 하다보니 

엑셀에서 COUNT 쓰고 어 왜 안되지 하고 있었다. COUNT는 단순하게 범위만 지정하는 건데... 

 

SQL에서는 

셀렉트 COUNT(계산할 열. 전체를 원할 시 *)

여기까지만 하면 엑셀에서 COUNT와 같고 

 

셀렉트 COUNT(계산할 열. 전체를 원할 시 *)

WHERE 넣을 조건 

이걸 하면 엑셀에서의 COUNTIF와 같다. 

아니면 CASE 걸든가... 

 

파이썬에서는... 

AGG['열 이름','COUNT'] 였던 거 같은데... 

 

df.groupby(["월","이름"]).agg({"휴일":"mean","야근":"sum"})

찾아보니 예문 이러하다. 

 

DF.GROUPBY.AGG(새로 만들 열 = ('열 이름','COUNT')) 엿구만  ... 

 

df['is_under_age_20'] = np.where(df.age <= 20, 1, 0)  ## 20세 미만 여부
df['is_over_10_fare'] = np.where(df.fare > 10, 1, 0)  ## fare → 10 초과 지불 승선 수
df['only_over_10_fare'] = np.where(df.fare > 10, df.fare, 0)  ## fare → 10 초과 지불건 총액


df.groupby(['pclass'])\
    .agg(
        passenger_count = ('survived', 'count'),
        under_20_age = ('is_under_age_20', 'sum'),
        over_fare_10_cnt = ('is_over_10_fare', 'sum'),
        over_fare_10_amt = ('only_over_10_fare', 'sum')
    ).reset_index()
    
    
    출처: https://velog.io/@ssam/pandas-groupby%EB%A1%9C-EXCEL-%ED%95%A8%EC%88%98-sumif-countif-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0

 

pandas groupby로 EXCEL 함수 sumif, countif 구현하기

 

그리고 transform() 함수라는 것도 있다는데 잘 모르겠다. 

 

아님 IF나 WHILE 걸어서 카운트 해도 되고...

어차피 파이썬은 변수 지정할 수 있으니 조건 걸은 걸 변수에 저장한 다음 그걸 카운트해도 되고.. 

 

사실 SQL도 조건 걸은 거를 서브쿼리에 넣거나 WITH로 임시저장해서 단순 카운트해도 되는데 이거는 

COUNTIF라기 보다는 

그룹화해서 COUNT한 값을 다시 계산하고 싶을 때 써먹는 용도. 예를 들어 그룹화&카운트해서 별점별로 계산했어! 그거의 퍙균을 내고 싶어! 그럴 때 이케 하는 겨. 

 

 

 

  • 필드 그룹화

 

필드 하나 클릭해서 그룹화 하면 이케 되는。 

자동인 거 걍 하면 이케 됨;; 

 

킹받。

열어보면 난장판인 점。 

24-25 사이에 0。25‰ 있고 

25-26 사이에도 0。25‰ 있다。 

이거 하면 또 3퍼끼리 묶고 2퍼끼리 묶고 막.. 이상함 

2퍼 그룹 안에 2.67% 있고 2.1% 있고 그럼 마음에 안들어 

 

나는 1퍼 미만만 싹 묶고 싶다고. 

 

 

맹글고 실패한 계산필드 2개 : 

퍼센트별 차지값 ='매출별 제품 비율' *'제품 당 구매 횟수' 

필드1 ='제품 당 구매 횟수' * COUNT('매출별 제품 비율')

 

 

걍 묶어서 '선택항목 그룹화' 했다...

 

 

  • 프로덕트 선정

 

 

 

 


 

여담

 

온도주의 

 

 


 

[회고]

 

 

 

 

 

 


#청년취업사관학교 #데이터분석가 #데이터분석가부트캠프 #DA교육 #데이터분석교육 #실무프로젝트 #실무경험 #취업포트폴리오 #포트폴리오 #취업연계교육 #코멘토 #모비니티 

728x90