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 |