통계전산처리 - 5주차 (행렬연산, 반복문)

2024. 9. 3. 19:49·파이썬/통계전산처리
import numpy as np
import pandas as pd
import scipy as sp

# 연습문제 3
# 행렬과 벡터 정의
A = np.array([[1, -1, 4], [-1, 1, 3], [4, 3, 2]])
B = np.array([[3, -2, 4], [-2, 1, 0], [4, 0, 5]])
x = np.array([1, -2, 4]).reshape(3, 1)
y = np.array([3, 2, 1]).reshape(3, 1)

# (a)
print(A + B)

# (b)
print(A.T) # .T : 전치행렬 구하기

# (c)
print(np.dot(np.dot(x.T, A), y)) # np.dot : 내적 구하기

# (d)
print(np.dot(x.T, x))

# (e)
print(np.dot(np.dot(x.T, A), x))

# (f)
print(np.dot(x.T, y))

# (g)
print(np.dot(A.T, A))

# (h)
print(np.dot(A,B))

# (i)
print(np.dot(y.T,B))

# (j)
print(np.dot(x,x.T))

# (k)
print(x+y)

# (l)
print(x-y)

# (m)
print((x-y).T)

# (n)
print(np.dot(x,y.T))

# (o)
print(A-B)

# (p)
print(A.T+B.T)

# (q)
print((A+B).T)

# (r)
print(3*x)

# (s)
print(np.dot(x.T,y)**2)

# (t)
print(np.dot(B,A))

# (u)
np.linalg.inv(A) # np.linalg.inv() : 역행렬 구하는 함수

 

# 연습문제 4
# (a)
print(['a']*8)

# (b)
print(np.repeat(np.arange(1, 6), 3))

# (c)
x=np.arange(1,101)
x[x%2==1]

# (d)
np.array([1,5,19,30])

# (e)
np.arange(-10,11)

 

# 연습문제 5
x=np.arange(1,11)

# (a)
len(x)

# (b)
sp.sum(x)

# (c)
sp.mean(x)

# (d)
print(sp.var(x,ddof=1)) # ddof =1 : 불편 추정량 구하는 조건
print(sp.std(x,ddof=1))

# (e)
odd = x[x % 2 == 1]
odd

# (f)
sum=0
for i in range(1,11) :
    sum = sum + x[i-1]/i
print(sum)

# 벡터
k_score=np.array([96,80,76,96,88,75,78,89,92,70])
k_score2=np.array([67,83,96,90,85,75,82,89,92,75])

# 두 벡터를 하나로 합치는 방법 1
score=np.append(k_score,k_score2)

# 두 벡터를 하나로 합치는 방법 2
sc=np.hstack([k_score,k_score2])

 

# 배열
A=np.zeros((4,3,2)) # 3*2 행렬이 4개인 텐서 + 모든 값들이 0
print(A)

fu=np.full((2,4),3) # 모든 값들이 3이면서 2*4인 행렬
fu

b=np.arange(24).reshape(4,3,2) # 0~23까지의 벡터를 (4,3,2)인 텐서로 변환
b

e=np.eye(3,3) # 3*3인 항등행렬
e

 

# 반복문
# 1~4까지 출력하는 반복문
for i in range(1,5) :
    print(i)

# start~end까지의 합
start=100
end=200
isum=0
for i in range(start,end+1) :
    isum=isum+i
    continue
print(isum)

# x 각각의 값들을 제곱한 벡터 생성
x=np.array([5,6,7,8])
n=len(x)
xx=np.tile(0,n) # np.tile(0,n) : 0이 n개인 벡터 생성
for i in range(0,n) :
    xx[i]=x[i]**2
    print(xx[i])
    continue

# 구구단 
for i in range(1,3) :
    for j in range(1,4) :
        print(f"{i}*{j}={i*j}")

# 0에서 시작하여 5에서 멈추는 반복문
count=0
while count<5 :
    print(count,'less than 5')
    count = count+1
else :
    print(count,'stop here')

'파이썬 > 통계전산처리' 카테고리의 다른 글

통계전산처리 - 9주차(연속분포)  (0) 2024.09.05
통계전산처리 - 7주차 (다양한 시각화)  (0) 2024.09.05
통계전산처리 - 6주차 (데이터프레임 다루기, 그래프 그리기)  (1) 2024.09.03
통계전산처리 - 2장 연습문제 풀이  (0) 2024.09.03
통계전산처리 - 4주차  (0) 2024.09.03
'파이썬/통계전산처리' 카테고리의 다른 글
  • 통계전산처리 - 7주차 (다양한 시각화)
  • 통계전산처리 - 6주차 (데이터프레임 다루기, 그래프 그리기)
  • 통계전산처리 - 2장 연습문제 풀이
  • 통계전산처리 - 4주차
kimmalgu
kimmalgu
DA(데이터 분석가) 블로그
  • kimmalgu
    kimmalgu 님의 블로그
    kimmalgu
  • 전체
    오늘
    어제
    • 분류 전체보기 (53)
      • 통계 (3)
      • [패캠] 데이터분석 부트캠프 (10)
        • 프로젝트 (2)
        • 수업 정리 (8)
      • 파이썬 (8)
        • 통계전산처리 (7)
      • SQL (27)
        • 프로그래머스 (20)
        • HackerRank (5)
        • LeetCode (1)
      • 코테 (0)
      • 독후감 (5)
  • 블로그 메뉴

    • 글쓰기
    • 홈
    • 태그
    • 방명록
  • hELLO· Designed By정상우.v4.10.0
kimmalgu
통계전산처리 - 5주차 (행렬연산, 반복문)
상단으로

티스토리툴바