[데이터 분석] 연산자
2023. 6. 13. 10:51ㆍ데이터 분석
728x90
연산자란?
* 덧셈, 뺄셈, 곱셈, 나눗셈은 shape가 같아야함
* 같은 position끼리 연산
* 내적은 맞닿는 shape가 같아야 함
* 내적은 떨어져 있는 shape가 결과 행렬이 됨
# dot product( 행렬곱, 내적 )
# 맞닿은 shape이 같아야함
a = np.array ([[1,2,3],[2,3,4]])
b = np.array([[3,4,5],[1,2,3]])
a.shape , b.shape
------------------------------------
# 결과(행,열)
▶ ((2, 3), (2, 3))
# 덧셈연산
a+b
------------
# 결과
▶ array([[4, 6, 8],
[3, 5, 7]])
# 뺄셈 연산
a-b
--------------
# 결과
▶ array([[-2, -2, -2],
[ 1, 1, 1]])
# 곱셈 연산
a*b
--------------
# 결과
▶ array([[ 3, 8, 15],
[ 2, 6, 12]])
#나눗셈 연산
a / b
---------------
▶ array([[0.33333333, 0.5 , 0.6 ],
[2. , 1.5 , 1.33333333]])
print((1*1+2*3+3*5),(1*2+2*4+3*6))
print((1*1+2*3+3*5),(1*2+2*4+3*6))
print((2*1+3*3+4*5),(2*2+3*4+4*6))
--------------------------------------
▶ 22 28
22 28
31 40
np.dot(a,b)
-------------
▶ array([[22, 28],
[22, 28],
[31, 40]])
2️⃣ arange
* 순차적인 값을 생성할 때 사용
arr1 = range(1,11)
for i in arr1:
print(i,end='')
-------------------------
▶ 12345678910
arr2 = np.arange(1,11)
arr2 ▶ array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
for i in arr2:
print(i,end='')
----------------------
▶ 12345678910
3️⃣ sort (정렬)
#문자열 역순으로 출력하기
str1 = 'Python'
print(str1[:])# 모든 문자를 슬라이싱
print(str1[::])#print(str1[::1])-> 1: 정방향
print(str1[::-1]) # -1:역방향
print(str1[4:1:-1]) # 4번 인덱스부터 1직전까지 역순으로 가져오기
print(str1[4::-1]) #4번 인덱스부터 0까지 역순으로 가져오기
-------------------------------------------------------------------
# 결과
▶ Python
▶ Python
▶ nohtyP
▶ oht
▶ ohtyP
ndarr1 =np.array([1,10,5,7,2,4,3,6,8,9])
ndarr1
----------------------------------------------------
# 결과
▶ array([ 1, 10, 5, 7, 2, 4, 3, 6, 8, 9])
#오름차순 정렬( 기본적으로 )
np.sort(ndarr1)
--------------------------------------------------
# 결과
▶ array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 내림차순
np.sort(arr1)[::-1]
---------------------------------------------------
# 결과
▶ array([10, 9, 8, 7, 6, 5, 4, 3, 2, 1])
li1 = [1,10,5,7,2,4,3,6,8,9]
▼
li1.sort() # 오름차순으로 정렬
▼
li1
-------------------------------------
# 결과
▶ [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr1 → array([ 1, 10, 5, 7, 2, 4, 3, 6, 8, 9])
result = np.sort(err1)
result
-----------------------------------------------------------
# 결과
▶ array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
arr2d = np.array([[11,10,12,9],
[3,1,4,2],
[5,6,7,8]])
arr2d.shape
-------------------------------------
# 결과
(3,4)
# 행 정렬순
np.sort(arr2d ,axis = 0)
-------------------------------
# 결과
▶ array([[ 3, 1, 4, 2],
[ 5, 6, 7, 8],
[11, 10, 12, 9]])
# 열 정렬순
np.sort(arr2d,axis=1)
-------------------------
# 결과
▶ array([[ 9, 10, 11, 12],
[ 1, 2, 3, 4],
[ 5, 6, 7, 8]])
# 축의 마지막 방향
np.sort(arr2d ,axis = -1)
-------------------------------
# 결과
▶ array([[ 9, 10, 11, 12],
[ 1, 2, 3, 4],
[ 5, 6, 7, 8]])
728x90
반응형
'데이터 분석' 카테고리의 다른 글
[데이터 분석] CSV 파일 다루기/ 데이터 프레임 기본 정보 알아보기 (0) | 2023.06.25 |
---|---|
[ 데이터 분석 ] 판다스 (Pandas) (4) | 2023.06.13 |
[데이터분석] 넘파이 (Numpy) (0) | 2023.06.12 |