QUIZ

정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.

 

ANSWER

import numpy as np

def solution(num_list):
    result1 = np.prod(num_list)
    result2 = pow(sum(num_list),2)
    
    if result1 < result2:
        return 1
    else:
        return 0

 

ANOTHER ANSWER

def solution(arr, k):
    return [i*k if k%2!=0 else i+k for i in arr]

 

POINT

합을 구할 때는 SUM ! SQL, 엑셀 어디서든 무조건 SUM 잊지마세요

numpy 함수는 자주 나오는 것 같으니, 꼭 잊지말고 기억해두자

 

기본 수학 연산

  • numpy.add : 어레이의 요소 단위로 덧셈
  • numpy.subtract : 어레이의 요소 단위로 뺄셈
  • numpy.multiply : 어레이의 요소 단위로 곱셈
  • numpy.divide : 어레이의 요소 단위로 나눗셈 계산(true division)
  • numpy.true_divide : 어레이의 요소 단위로 나눗셈 계산(true division)
  • numpy.floor_divide : 어레이의 요소 단위로 나눗셈 계산(floor division)
  • numpy.remainder : 요소 단위로 나눗셈의 나머지
  • numpy.mod : 요소 단위로 나눗셈의 나머지
  • numpy.prod : 주어진 축을 따라 어레이 요소의 곱을 반환
  • numpy.reciprocal : (요소 단위로) 어레이의 역수를 반환

합/평균/표준편차/분산 계산

  • numpy.sum : 지정된 축을 따라 어레이 요소의 합을 계산
  • numpy.cumsum : 지정된 축을 따라 어레이 요소의 누적 합을 계산
  • numpy.mean : 지정된 축을 따라 어레이 요소의 산술 평균을 계산
  • numpy.std : 지정된 축을 따라 어레이 요소의 표준편차를 계산
  • numpy.var : 지정된 축을 따라 어레이 요소의 분산을 계산

반올림/올림/내림 등

  • numpy.around : 어레이의 성분을 주어진 소수점 자리로 반올림
  • numpy.ceil : 입력의 요소 단위의 ‘ceil’ 값을 반환
  • numpy.clip : 어레이의 최소값, 최대값을 지정
  • numpy.fix : 0을 향해 가장 가까운 정수로 올림(또는 내림)
  • numpy.floor : 입력의 요소 단위의 ‘floor’ 값을 반환
  • numpy.rint : 어레이의 성분을 가장 가까운 정수로 반올림
  • numpy.round : 어레이의 성분을 주어진 소수점 자리로 반올림
  • numpy.trunc : 입력을 truncate한 값 또는 어레이를 반환

부호 관련

  • numpy.absolute : 어레이의 요소 단위로 절대값을 반환
  • numpy.fabs : 어레이의 요소 단위로 절대값을 반환
  • numpy.positive : 요소 단위의 ‘numerical positive’를 반환
  • numpy.negative : 요소 단위의 ‘numerical negative’를 반환
  • numpy.sign : 숫자의 부호를 반환

인덱스/값 검색

  • numpy.amax : 어레이의 최대값을 반환
  • numpy.amin : 어레이의 최소값을 반환
  • numpy.argmax : 최대값을 갖는 성분의 인덱스를 반환
  • numpy.argsort : 어레이를 정렬하는 인덱스의 어레이를 반환
  • numpy.nonzero : 0이 아닌 성분의 인덱스를 반환
  • numpy.take : 인덱스를 이용해서 어레이의 요소를 가져옴
  • numpy.where : 조건에 맞는 성분의 인덱스를 반환

비교

  • numpy.greater : 요소 단위로 (x1 > x2)의 진리값을 반환
  • numpy.greater_equal : 요소 단위로 (x1 >= x2)의 진리값을 반환
  • numpy.less : 요소 단위로 (x1 < x2)의 진리값을 반환
  • numpy.less_equal : 요소 단위로 (x1 <= x2)의 진리값을 반환
  • numpy.not_equal : 요소 단위로 (x1 != x2)의 진리값을 반환
  • numpy.equal : 요소 단위로 (x1 == x2)의 진리값을 반환
  • numpy.array_equal : 두 어레이의 형태와 요소들이 모두 동일하다면 True, 그렇지 않다면 False를 반환
  • numpy.allclose : 두 어레이의 모든 요소의 차이가 허용 오차 이내에 있다면 True, 그렇지 않다면 False를 반환
  • numpy.isclose : 두 어레이의 각 요소의 값의 차이가 허용 오차 이내에 있다면 True, 그렇지 않다면 False를 반환

저장하기/불러오기

  • numpy.savetxt : 어레이를 텍스트 파일로 저장
  • numpy.loadtxt : 텍스트 파일로부터 데이터를 불러옴

출처

https://codetorial.net/numpy/functions/index.html

QUIZ

중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.

 

MY ANSWER

import numpy as np

def solution(array):
    return np.median(array)

BETTER ANSWER

def solution(array):
    return sorted(array)[len(array) // 2]

POINT

np.array()

입력받은 파이썬 리스트를 ndarray 형태로 변경

 

np.arange()

파이썬 range 함수와 같지만 ndarray 객체를 생성

 

np.zeros(), np.full(), np.eye()

기본 행렬 생성 함수들 행렬 생성 시 사용

 

np.add(), np.substract(), np.mulyiply(), np.divide()

사칙연산 

 

np.dot()

행렬곱이라 생각하면 됨 ( 실제로는 내적을 연산하는 것)

 

np.sum(), np.prod()

원소의 합, 혹은 곱을 반환

 

np.max(), np.min()

최대와 최소값 반환하는 함수

 

np.argmax(), np.argmin()

최대와 최소값을 가진 위치를 반환하는 함수

 

ndarray.shape

ndarray의 차원을 반환

 

np.reshape()

행렬의 차원 바꾸는데 사용, -1을 넣어 쭉 피는용도로도 자주 사용

 

np.transpose()

기본적으로는 행렬의 전치행렬을 구하는 것 & 3차원 이상의 행렬에서 우선순위를 정하기

+ Recent posts