본문 바로가기

Python

ndarray 인덱싱 & 슬라이싱

인덱싱(indexing) :

  • 값을 가리키다->자료 구조 내에서 '1개의 요소'에 접근하는것

슬라이싱(slicing):

  • 값을 잘라오다->자료 구조 내에서 '여러개의 요소'에 접근하는것
슬라이싱
print(arr_1[3:9]) <- [3 4 5 6 7 8]

인덱싱
print(arr_1[3]) <- 3

인덱스(index):

  • 데이터의 순서 -> 방번호
슬라이싱을 하고 한번에 데이터 넣기
list1=[]
for i in range(10) :
    
    list1.append(i) <- [0~9]

#리스트값 수정
list1[3:8] = [10]
print(list1) <- [0, 1, 2, 10, 8, 9]

#array는 슬라이싱된 요소들에 각각 하나씩 값을 수정
arr_1[3:8] = 10
print(arr_1) <- [ 0  1  2 10 10 10 10 10  8  9]

 

2차원 array 인덱싱 & 슬라이싱

  • 인덱싱 : array명[행값,열값]
  • 슬라이싱 : array명[행의 시작값:행의 끝값,열의 시작값:열의 끝값]

 

예시)

print(arr2[3][3]) => 34 # 일반인덱싱, 두번의 연산을 수행

print(arr2[3,3]) => 34 # 튜플인덱싱, 한번의 연산을 수행

print(arr2[2:5,:9])
=>[[21 22 23 24 25 26 27 28 29]
 [31 32 33 34 35 36 37 38 39]
 [41 42 43 44 45 46 47 48 49]]

 

데이터 경로 지정

1.절대경로

/ : 루트 디렉토리(홈 디렉토리),파일 시스템의 가장 상위 디렉토리 (예시 :01python 02pythonlibrary)가 나타남

 

2.상대경로

./ : 현재 디렉토리,생략시 defalt(python에서만) 예시(01.numpy)

../ : 상위 디렉토리를 나타냄, 한단계 위 디렉토리

 

ndarray 연산 함수

랜덤 array 생성
arr = np.random.randint(1,10,size=(2,5))
arr
-----------------------
array([[2, 1, 3, 3, 2],
       [7, 4, 4, 5, 4]])

1.python 내장함수 sum
print(sum(arr)) => [9 5 7 8 6]

2.numpy sum
print(arr.sum()) => 35
print(np.sum(arr)) => 35

3.mean() : 평균
print(arr.mean()) => 3.5
print(np.mean(arr)) => 3.5

4.sqrt() :제곱근(루트)
print(np.sqrt(arr)) =>
[[1.41421356 1.         1.73205081 1.73205081 1.41421356]
 [2.64575131 2.         2.         2.23606798 2.        ]]

 

'Python' 카테고리의 다른 글

iloc와 loc 속성  (0) 2023.10.15
Pandas,인덱싱  (1) 2023.10.15
ndarray dtype  (0) 2023.10.15
Numpy <- import numpy as np  (2) 2023.10.15
함수(function)  (0) 2023.10.08