2022 스터디

넘파이 스터디 20230308

EYR 2023. 3. 8. 22:40

넘파이 배열

 

배열(array) 리스트(list)의 차이

1. 모든 원소가 같은 자료형이어야 한다.

(배열 객체 객체는 C언어의 배열처럼 연속적인 메모리 배치를 가지기 때문에 )

(원소에 대한 접근과 반복문 실행이 빨라진다.)

2. 원소의 갯수를 바꿀 수 없다.

 

배열을 import 해주는 게 넘파이 NumPy

 

백터화 연산을 지원

배열 객체는 배열의 각 원소에 대한 반복 연산을 하나의 명령어로 처리하는 벡터화 연산

 

리스트 객체에 곱하면 크기가 정수배 만큼 증가

x = np.array(data)
x

# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

2 * x
# array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])

array 객체

 

L = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(2 * L)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

list

 

오~(흥미롭)

 

 

배열 인뎃싱

팬시 인덱싱(fancy indexing)이라고도 부르는 배열 인덱싱(array indexing) 방법이다.

데이터베이스의 질의(Query) 기능을 수행한다.

 

 

배열 인덱싱에서는 대괄호(Bracket, [])안의 인덱스 정보로 숫자나 슬라이스가 아니라 위치 정보를 나타내는 또 다른 ndarray 배열을 받을 수 있다.

a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
idx = np.array([True, False, True, False, True,
               False, True, False, True, False])
a[idx]

array([0, 2, 4, 6, 8])

 

 

 

a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a<5

# array([ True,  True,  True,  True,  True, False, False, False, False,
       False])
       
a % 2 == 0 # wow... 
# array([ True, False,  True, False,  True, False,  True, False,  True,
       False])

조건문인가 이거?

 

x[(x%3==0) & (x%4==1)] #여러개할땐 괄호 쳐주고 and 안먹는다(왜냐...)

#array([9])

 

 

 


https://datascienceschool.net/01%20python/03.01%20%EB%84%98%ED%8C%8C%EC%9D%B4%20%EB%B0%B0%EC%97%B4.html

'2022 스터디' 카테고리의 다른 글

[web hacking] 2022  (0) 2023.11.03
java 스터디 사전조사  (0) 2023.05.14
[2023] 스택/큐  (0) 2023.03.13
JAVA 스윙 공부  (0) 2022.11.10
js 스터디 - 2주차  (0) 2022.04.15