QA ≠ Test

QA(품질 보증)는 개념적인 용어이고, TEST는 QA(품질 보증)를 하기 위한 수단이자 방법이다.

TESTING/PROGREMING

[데이터 사이언스 코딩 - Chap.3] 실습 Numpy.array 문제 풀어보기

품생품사(品生品死) 2021. 7. 20. 23:29
반응형

Numpy.array 실습 문제

Jimmy가 창업한 품새사닭갈비 신주쿠점은 이제 직장인들에게 소문난 맛집입니다. 그러나 매일같이 성공적인 것은 아닙니다. 목표 일 매출을 달성하지 못하는 날들이 아직 꽤 있었습니다. Jimmy가 생각하는 성공적인 하루 매출은 20만 엔입니다.

 

성공적이지 않은 날의 매출만 골라서 보고 싶습니다. 20만 엔 이하의 매출만 담긴 numpy array를 출력해보겠습니다.

 

📌 반복문은 사용하지 안 됩니다!

📌 정답 출력 코드는 print가 없는 방식으로 작성해 주세요. (예시: bad_days_revenue)

 

numpy array의 좋은 점은 리스트 안의 데이터를 반복문 없이 한 번에 분석할 수 있다는 것입니다.

우리의 매출이 revenue_in_yen 이라는 변수에 리스트 형태로 들어 있습니다.

 

import numpy as np

revenue_in_yen = [
    300000, 340000, 320000, 360000, 
    440000, 140000, 180000, 340000, 
    330000, 290000, 280000, 380000, 
    170000, 140000, 230000, 390000, 
    400000, 350000, 380000, 150000, 
    110000, 240000, 380000, 380000, 
    340000, 420000, 150000, 130000, 
    360000, 320000, 250000
]

numpy의 도움을 받기 위해서는 numpy array로 만들어 주어야겠죠?

en_array = np.array(revenue_in_yen)

리고 주어진 조건에 해당하는 filter를 만들어 줍시다.

filter = np.where(yen_array <= 200000)
filter # 결과 확인
(array([ 5,  6, 12, 13, 19, 20, 26, 27]),)

우리가 원하는 데이터가 어디에 있는지 확인할 수 있네요.

이 filter를 인덱싱에 활용해주면, 우리가 원하는 결과를 얻을 수 있습니다.

bad_days_revenue = yen_array[filter]
bad_days_revenue # 정답 출력
array([140000, 180000, 170000, 140000, 150000, 110000, 150000, 130000])

 

정답 출력

import numpy as np

revenue_in_yen = [
    300000, 340000, 320000, 360000, 
    440000, 140000, 180000, 340000, 
    330000, 290000, 280000, 380000, 
    170000, 140000, 230000, 390000, 
    400000, 350000, 380000, 150000, 
    110000, 240000, 380000, 380000, 
    340000, 420000, 150000, 130000, 
    360000, 320000, 250000
]

yen_array = np.array(revenue_in_yen)

filter = np.where(yen_array <= 200000)
bad_days_revenue = yen_array[filter]

bad_days_revenue # 정답 출력

 

아래와 같이 메소드로 filter를 만들지 않고 바로 인덱싱하는 방법도 있습니다.

import numpy as np

revenue_in_yen = [
    300000, 340000, 320000, 360000, 
    440000, 140000, 180000, 340000, 
    330000, 290000, 280000, 380000, 
    170000, 140000, 230000, 390000, 
    400000, 350000, 380000, 150000, 
    110000, 240000, 380000, 380000, 
    340000, 420000, 150000, 130000, 
    360000, 320000, 250000
]

yen_array = np.array(revenue_in_yen)

bad_days_revenue = yen_array[yen_array <= 200000]

bad_days_revenue # 정답 출력

 

마지막으로 Numpy.array의 공식 정보 공유 사이트를 링크 남기도록 하겠습니다.

 

numpy.array — NumPy v1.21 Manual

If true (default), then the object is copied. Otherwise, a copy will only be made if __array__ returns a copy, if obj is a nested sequence, or if a copy is needed to satisfy any of the other requirements (dtype, order, etc.).

numpy.org

This is data_science_000
Data Science

요약 : sparta coding club, 스파르타 코딩, 코드잇, 노마드 코더, 프로그래밍, 직장인 코딩, 내일 배움 카드 코딩, 밀크티 코딩, 초등 코딩, 아이스크림 코딩, 코딩 소프트웨어, 구글 데이터 스튜디오, 데이터 웨어 하우스 , 빅 데이터 클라우드

반응형