이 글은 boostcourse 강의를 듣고 정리한 글입니다.
밑에 나오는 구현 예제들은 모두 한줄로 작성이 가능하다!
( 과연 한 줄로 코드를 작성하는 게 더 좋을까...? )
>>완벽하게 알아야 할 자료구조
- 리스트
- 튜플
- 딕셔너리
>> 공부해야 할 문법들
- List Comprehension / Generator
- Enumerate
- Zip
- Lambda
- Map
- Asterisk
예제는 여기서 확인하자
>>파이썬 답안 코드
MatirxOperation.zip
0.00MB
#1.
def vector_size_check(*vector_variables):
return len(set([ len(vector) for vector in vector_variables])) == 1
#2.
def vector_addition(*vector_variables):
if vector_size_check(*vector_variables) == False:
raise ArithmeticError
return [sum(i) for i in zip(*vector_variables)]
#3.
def vector_subtraction(*vector_variables):
if vector_size_check(*vector_variables) == False:
raise ArithmeticError
return [i[0]*2 - sum(i) for i in zip(*vector_variables)]
#4.
def scalar_vector_product(alpha, vector_variable):
return list(map(lambda x : x * alpha, vector_variable))
#5.
def matrix_size_check(*matrix_variables):
return len(set((len(mat),len(mat[0])) for mat in matrix_variables)) == 1
#6.
def is_matrix_equal(*matrix_variables):
return all(len(set(row for row in zip(*matrix)))==1 for matrix in zip(*matrix_variables))
#7.
def matrix_addition(*matrix_variables):
if matrix_size_check(*matrix_variables) == False:
raise ArithmeticError
return [[sum(i) for i in zip(*row)] for row in zip(*matrix_variables)]
#return [vector_addition(*row) for row in zip(*matrix_variables)]
#8.
def matrix_subtraction(*matrix_variables):
if matrix_size_check(*matrix_variables) == False:
raise ArithmeticError
return [vector_subtraction(*row) for row in zip(*matrix_variables)]
#9.
def matrix_transpose(matrix_variable):
return [[*i] for i in zip(*matrix_variable)]
#10.
def scalar_matrix_product(alpha, matrix_variable):
return [scalar_vector_product(alpha,row) for row in matrix_variable]
#11.
def is_product_availability_matrix(matrix_a, matrix_b):
return len(matrix_a[0]) == len(matrix_b)
#12.
def matrix_product(matrix_a, matrix_b):
if is_product_availability_matrix(matrix_a, matrix_b) == False:
raise ArithmeticError
return [[sum(x*y for x,y in zip(row_a,col_b)) for col_b in zip(*matrix_b)] for row_a in matrix_a]
'Python > 데이터 분석 기초' 카테고리의 다른 글
Kaggle - [House Prices] 집값 예측 모델링 후기 (0) | 2021.06.06 |
---|---|
Multiple Linear Regression 정리 + 느낌 (0) | 2021.03.29 |
[머신러닝을 위한 파이썬] 3. pandas 활용 예제 (0) | 2021.03.18 |
[머신러닝을 위한 파이썬] 2. numpy 활용 예제 (0) | 2021.03.18 |