=2.0]) A= ar[ar[:,2].astype(float)>=4.0] B= ar[(ar[:,2].astype(float)>=3.0) & (ar[:,2].astype(float)<4.0)] C= ar[(ar[:,2].astype(float)>=2.0) & (ar[:,2].astype(float)<3.0)] print(A) print(B) print(C)"> =2.0]) A= ar[ar[:,2].astype(float)>=4.0] B= ar[(ar[:,2].astype(float)>=3.0) & (ar[:,2].astype(float)<4.0)] C= ar[(ar[:,2].astype(float)>=2.0) & (ar[:,2].astype(float)<3.0)] print(A) print(B) print(C)"> =2.0]) A= ar[ar[:,2].astype(float)>=4.0] B= ar[(ar[:,2].astype(float)>=3.0) & (ar[:,2].astype(float)<4.0)] C= ar[(ar[:,2].astype(float)>=2.0) & (ar[:,2].astype(float)<3.0)] print(A) print(B) print(C)">
import numpy as np

students_info = [
    ["이지헌", "20011266", 2.1],
    ["이승하", "22012312", 3.5],
    ["노주호", "22012414", 4.1],
    ["사예진", "21032121", 3.1],
    ["이준영", "20032132", 3.8],
    ["이주호", "19321327", 1.9],
    ["노지헌", "21052136", 2.7],
    ["이예진", "18032132", 3.8],
    ["노승하", "23164723", 0.8],
    ["사준영", "19357213", 4.5]]

ar = np.array(students_info)
ar = ar[ar[:,2].astype(float).argsort()][::-1]
#ar에서 학점이 F인 학생 삭제 후 출력이 아니라 F를 출력 안한 것으로 감점#
print(ar[ar[:,2].astype(float)>=2.0])
A= ar[ar[:,2].astype(float)>=4.0]
B= ar[(ar[:,2].astype(float)>=3.0) & (ar[:,2].astype(float)<4.0)]
C= ar[(ar[:,2].astype(float)>=2.0) & (ar[:,2].astype(float)<3.0)]
print(A)
print(B)
print(C)
  1. np.delete로 2차원배열의 행만 삭제가능하고 열은 삭제 불가능하다. → ❌ np.delete는 2차원 배열의 행과 열 모두 삭제 가능하다
  2. np.array를 통해 만든 [[1, 2, 3, 4]] 인 배열을 np.squeeze 함수를 사용하면 [1, 2, 3, 4]의 형태로 바뀐다. →
  3. 차원이 증가할 수록 변수가 증가하며 개별 차원 내에서 학습할 데이터의 수가 많아진다. →
  4. arr = np.arange(24).reshape(2,3,-1)를 동작시키면 (2,3,5)모양의 배열이 출력된다. → ❌ arr = np.arange(24).reshape(2,3,-1)를 동작시키면 (2,3,5)모양의 배열이 출력된다.
  5. reshape()과 resize()는 array의 형태를 변형시킬 수 있는 기능을 하며, 차이점으로 reshape()함수는 원소의 개수와 변형할 shape이 일치해야하고 resize()는 일치하지 않아도 변형 가능하다. →
  6. 철수가 경계가 1이고 내부가 0의 값을 가지는 10×10 크기의 2차원 배열을 출력하는 코드를 짰다. 정상적으로 출력되는가? → ❌ 코드에 numpy를 사용할 때 np를 약자로 사용하므로 import numpy as np라고 해야 코드가 실행된다. 또한 import numpy as np로 바꾸고 실행했을 경우 경계가 0이고 내부가 1의 값을 가지는 10x10 크기의 2차원 배열이 출력된다.

#고친 코드

import numpy as np

Z = np.ones((10,10))
Z[1:-1,1:-1 ] = 0
print(Z)