Python Numpy3
Module/Numpy
Numpy3¶
지난 넘피1,2에 이어 3번째 포스팅입니다.
2편에서 마무리 짓지 못하고 3번째 까지 왔네요
너무 방대한 양이다보니... 그래도 인공지능으로 넘어가기전 알고가야할 부분이니까 열심히 해야겠죠?
2편에서 마무리 짓지 못했던 numpy 특수계산, 크기비교를 알아보도록 하겠습니다.
In [86]:
import numpy as np
In [87]:
test = np.arange(10)
test
Out[87]:
In [88]:
np.any(test>4) #원소값중 4보다 큰 값이 존재 함으로 True
Out[88]:
In [107]:
np.all(test>4) #모든 원소값이 4보단 크지 않기때문에 False
Out[107]:
In [108]:
np.all(test>=0)#모든 원소값은 0보다 크거나 같기 때문에 True
Out[108]:
Numpy 크기 비교¶
In [91]:
test1 = np.array([1,20,33])
test2 = np.array([10,10,10])
print(test1>test2)#배열의 각 인덱스별 크기 비교
print(test1==test2)
print((test1>test2).any())#배열의 각인덱스별 크기 비교중 하나라도 만족한다면 True
print((test1>test2).all())#배열의 각인덱스별 크기 비교중 모두 만족한다면 True
In [113]:
#앞서 크기비교 한것을 2차원배열로 확장
test1 = np.array([[10,20,33],[11,22,33]])
test2 = np.array([[10,10,10],[100,1,0]])
print(test1>test2)
print(test1>20)
print(test1==test2)
print((test1>test2).any())
print((test1>test2).all())
In [110]:
test1 = np.array([1,20,33])
np.logical_and(test1>0,test1<10)#두 조건을 만족한다면 True
Out[110]:
In [111]:
test2 = np.array([False,True,True])
np.logical_not(test2)#반대값 출력
Out[111]:
In [112]:
test3 = np.array([False,False,True])
np.logical_or(test2,test3)#하나라도 True라면 True 반환
Out[112]:
Numpy where¶
np.where(조건, 참일때 반환할 값, 거짓일때 반환할 값)
In [122]:
test1 = np.array([1,20,33])
np.where(test1>5,100,2)
Out[122]:
In [123]:
test2 = np.arange(10)
np.where(test2>4) #배열 원소값이 4보다 큰 값들의 인덱스를 반환
Out[123]:
In [129]:
test3 = np.array([1,10,4,5,6,50,1,100])
np.where(test3>4)#배열 원소값이 4보다 큰 값들의 인덱스를 반환
Out[129]:
In [125]:
test4 = np.array(["1", 2,"2" ,np.NaN, np.Inf], float)
np.isnan(test4)#Not a Number숫자가 아닌, / Infinity 무한대
Out[125]:
Numpy argmax & argmin¶
In [126]:
test1 = np.array([1,10,4,5,6,50,1,100])
np.argmax(test1), np.argmin(test1)# 배열값중 최대값 , 최소값의 인덱스 추출
Out[126]:
In [131]:
test2 = np.array([[111,222,333],[555,666,777],[123,633,768]])
test2,np.argmax(test2), np.argmin(test2)#다차원 배열에서도 적용가능, 인덱스를 새는 방법에 주목
Out[131]:
In [132]:
np.argmax(test2, axis=1) , np.argmin(test2,axis=0)#axis를 활용하여 접근 / 1은 가로로, 0은 세로로
Out[132]:
Numpy boolean index¶
In [133]:
test1 =np.array([
[1,2,3,4,5,6,7,8,9,10],
[1,2,3,4,5,6,7,8,9,10],
[1,2,3,4,5,6,7,8,9,10],
[1,2,3,4,5,6,7,8,9,10],
[1,2,3,4,5,6,7,8,9,10],
[1,2,3,4,5,6,7,8,9,10]
])
test2 = test1 < 5#값들이 5보다 작다면 False
test2
Out[133]:
In [134]:
test2.astype(np.int)#True는 1, False는0으로 변환
Out[134]:
이상으로 numpy 포스팅을 마칩니다.
너무 방대한 양이라 빠진부분들도 있습니다.
네이버 부스트코스 파이썬을 참고하였습니다.
In [ ]:
'Module > Numpy' 카테고리의 다른 글
Python Numpy2 (0) | 2020.07.12 |
---|---|
Python Numpy1 (0) | 2020.07.12 |