Post

numpy 3. 학습 예제

numpy 3. 학습 예제

예제 4_6_1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import numpy as np

def work1():
    # array의 type와 value의 type을 확인하시오
    a = np.array([3.1,11.2,6.7,213.11])
    print(type(a))
    print(a.dtype)
    return None

def work2():
    # array a의 크기, 차원, 형태(shape)을 확인하시오
    a = np.array([3.1,11.2,6.7,213.11])
    print(a.size)
    #print(a.nbytes) 이건 크기가 아니고 용량인가?
    print(a.ndim)
    print(a.shape)
    return None

def work3():
    # array a의 3번째 원소를 100으로 변경하시오
    a = np.array([3.1,11.2,6.7,213.11])
    a[2]=100
    print(a)
    return None

def work4():
    # array a의 1-3번째 원소들을 선택하여 새로운 array를 생성하시오
    a = np.array([3.1,11.2,6.7,213.11])
    b = a[:3]
    print(b)
    return None

def work5():
    # 다음 array ar의 짝수값만 출력하시오
    ar = np.array([1,2,3,4,5,6,7,8])
    print(ar[1::2])
    return None

def work6():
    # array ar의 mean(평균)과 median(중위값)을 찾으시오
    ar = np.array([1,2,3,4,5,6,7,8])
    print(np.mean(ar))
    print(np.median(ar))
    return None

def work7():
    # numpy의 mathematical function을 사용하여 다음 두 array의 뺄셈을 수행
    a = np.array([1,2,3,4,5])
    b = np.array([0,1,2,3,4])
    print(a-b)
    return None

def work8():
    # Hadamard mul과 Dot product를 확인
    a = np.array([1,2,3,4,5])
    b = np.array([0,1,2,3,4])
    print(a*b)
    print(np.dot(a,b))
    return None

def work9():
    # 범위 [5,4]안에 6개의 원소로 된 array를 생성하여 lin_arr에 저장하고 출력하시오.
    lin_arr = np.linspace(5,4,num = 6)
    print(lin_arr)
    return None

def work10():
    #A에 저장하고 size, dim, shape를 확인하시오
    a = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
    A = np.array(a)
    print(A.size)
    print(A.ndim)
    print(A.shape)
    return None

def work11():
    #A의 첫번째 row의 처음 두 개의 원소를 출력하시오
    a = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
    A = np.array(a)
    print(A[0,:2])
    return None

def work12():
    #다음 2-D array와 A의 Hadamard Mul과 matrix mul의 가능 여부를 확인한 후, 가능한 경우 결과를 출력하시오
    a = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
    A = np.array(a)
    B = np.array([[0,1],[1,0],[1,1],[-1,0]])
    #print(A*B)
    print(np.dot(A,B))
    return None

def main():
    #work1()
    #work2()
    #work3()
    #work4()
    #work5()
    #work6() #?? - median 이게 맞나
    #work7() # 맞나?
    #work8()
    #work9()
    #work10()
    #work11()
    work12()
    return None

if __name__ == '__main__':
    main()

예제 4_6_2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import numpy as np
import time

def work1():
    # [12,38) 사이의 값으로 채워진 ndarray를 생성하고 출력하기
    a = np.arange(12,38)
    print(a)
    return None

def work2():
    # 10x10 ndarray를 생성하고 checkerboard꼴로 채우기
    tmp1 = np.arange(1,10)
    a = tmp1 % 2
    b = (tmp1 + 1) % 2
    A = a+b
    print(A)
    return None

def work3():
    # ndarray 2개가 주어질때 공통값 찾기
    a = np.array([0,10,20,40,60])
    b = np.array([10,11,12])
    result = np.intersect1d(a,b)
    print(result)
    return None

def work4():
    # 주어진 ndarray가 차지하는 메모리 크기는
    a = np.array([[1,2,3],[4,5,6]])
    print(a.nbytes)
    return None

def work5():
    # 5x5 random matrix 생성하고 normaliz3e
    np.random.seed(int(time.time()))
    A = np.random.rand(25).reshape((5,5))
    print(A)
    mean_A = np.mean(A)
    std_A = np.std(A)
    result = (A - mean_A)/std_A
    print(result)
    return None

def work6():
    # 크기가 10인 ndarray를 생성한 후 가장 큰 값을 0 으로 대체하라
    np.random.seed(int(time.time()))
    A = np.random.rand(10)
    print(A)
    print(A.argmax())
    A[A.argmax()] = 0
    print(A)
    return None

def work7():
    # 주어진 ndarray에서 0이 아닌 원소의 개수를 구하시오
    np.random.seed(int(time.time()))
    A = np.random.randint(0,3,10)
    print(A)
    result = A.nonzero()
    print(result)

    return None

def main():
    #work1()
    work2() #다시..
    #work3()
    #work4()
    #work5()
    #work6()
    #work7()
    return None

if __name__ == '__main__':
    main()
This post is licensed under CC BY 4.0 by the author.