삶의 공유
[Python기초] Numpy A to Z 본문
Numpy Basic
C언어로 만들어진 Python Library중 하나로 배열을 사용할 때 유용하게 쓰일 수 있다. 사용하는 방법은 다음과 같다.
먼저 라이브러리를 호출 하고 별명을 지어서 보다 편리하게 함수를 불러 올수 있다.
import numpy as np
자 그럼 이것을 통해 Numpy에 대해서 하나씩 공부해보자
1) 1차원 배열 정의하기
import numpy as np
mylist = [10,20,50,60,70]
x = np.array(mylist)
x
2) 2차원 배열 정의 하기
solution = np.array([[4,6,8,7],[20,5,6,9]])
solution
Numpy built in Methods & Function
1) 0~1의 난수 만들기
x = np.random.rand()
x
2) 0~1의 난수로 5x5 matrix 만들어보기
x = np.random.rand(5,5)
x
3) 표준 정규 분포 난수 만들기
x = np.random.randn()
x
4) 1~10 사이의 정수 중 난수 만들기
x = np.random.randint(1,10)
x
2
5) 1 ~ 100 사이의 정수 난수 15개 만들기
x = np.random.randint(1, 100, 15) # 시작, 끝, 얻고 싶은 개수(2차원을 얻고 싶으면 (2,2) 이렇게 작성해도됨
x
6) 일정한 간격으로 나열된 정수 배열 만들기
x = np.arange(1,50)
x
7) 원하는 간격으로 나열된 정수 배열 만들기
x = np.arange(1,50,5) # 시작, 끝, 간격
x
8) 대각선에만 1, 나머지는 0인 행렬 만들기
x = np.eye(5)
x
9) 전부 1로 구성된 배열 만들기
x = np.ones(10)
x
10) 전부 1로 구성된 5x5 Matrix 만들기
x = np.ones((5,5)) #tuple로 넣어줘야함
x
11) 전부 0으로 구성된 배열 만들기
x = np.zeros(10)
x
Numpy 모양과 길이 유형
먼저 1차원 배열을 정의 하자 이것을 가지고 공부 해볼 것이다.
mylist = [-30, 4, 50, 60, 29, 15, 22, 90]
x = np.array(mylist)
1) 배열의 길이를 구해보기
length = len(x)
length
8
2) 배열의 차원 구해보기
x.shape
3) 데이터 타입 구해보기
x.dtype
4) 1차원 배열을 2차원 배열로 바꾸기
z = x.reshape(2,4)
z
5) 배열의 최대값, 최소값 구하기
print("최대값 : ", x.max())
print("최소값 : ", x.min())
6) 배열의 최대값, 최소값의 위치 구하기
0 1 2 3 4 5 6 7
# mylist = [-30, 4, 50, 60, 29, 15, 22, 90]
print("최대값위치 : ", x.argmax())
print("최소값위치 : ", x.argmin())
Numpy 수학연산
1) 2개의 배열들 더하기
x = np.arange(1,10)
y = np.arange(1,10)
sum = x + y
sum
2) 배열의 제곱 구하기
squared = x**2
squared
3) 배열의 제곱근 구하기
sqrt = np.sqrt(squared)
sqrt
4) 배열의 지수 (exponential) 구하기
z = np.exp(y)
z
Numpy 슬라이싱 & 인덱싱
1) 배열의 각 항목에 1개씩 접근(인덱싱) 해보기
# index 0 1 2 3 4
x= np.array([20,40,50,21,15])
print("첫번째 원소 : ", x[0]) # 배열의 인덱스는 0부터 시작하기 때문에 0으로 접근
print("두번째 원소 : ", x[1])
print("마지막 원소 : ", x[-1])
2) 배열 여러개 항목 인덱싱 해보기
x[2:4]
3) 배열의 여러개 항목 인덱싱하여 값을 바꿔보기 (broadcasting)
x[0:2] = 10 #1, 2번째 원소값이 10으로 바뀜,
x
4) 2차원 배열에 인덱싱 해보기 (행(row) 에 접근)
matrix = np.random.randint(1,10,(5,5))
matrix
matrix[2] #3번째 행에 접근
5) 2차원 배열의 각 항목에 접근해보기
matrix[0][1] # 행(row) / 열(column)
3
6) 2차원 배열 인덱싱 해보기
※ (행, 열)로 구분되고 ,가 없다면 행만 있고, 열은 전체를 가져온다고 해석하면 됨
mini_matrix = matrix[:3] #열(column)은 전체, 행은 1,2,3번째 행까지만 *인덱스는 0부터 시작이라는 것을 꼭 기억 !
mini_matrix
7) 2차원 배열 인덱싱 해보기
mini_matrix = matrix[:,2:] #행(row)은 전체, 열은 1,2,3번째 행까지만 *행, 열 이렇게 구분 되는 것을 꼭 기억!
mini_matrix
8) 조건부 인덱싱 하기
: 기 생성한 2차원 배열에서 3보다 큰 것들만 가져오는 예제!
*배열이2차원 -> 1차원으로 바뀐다는것도 꼭 기억!
new_matrix = matrix[matrix>3]
new_matrix
: 짝수인 값만 가져오는 예제
new_matrix = matrix[matrix%2 == 0]
new_matrix
지금까지 파이썬 라이브러리중 하나인 Numpy에 대해서 공부해보았다. 많은 분들에게 도움이 되길 가슴 깊이 희망한다.
'Data Scientist > Python' 카테고리의 다른 글
[Python 기초] Pandas(dataframe만들기, CSV/HTML로 Data 불러오기) (0) | 2022.01.04 |
---|---|
[Python활용]텍스트 마이닝 - 데이터 수집 (0) | 2022.01.02 |
[금융데이터분석] 파이썬이용하여 코스피 대장주 찾기 Project(Final) (0) | 2021.12.22 |
[금융데이터분석] 파이썬이용하여 코스피 대장주 찾기 Project-3(주가 DB저장) (0) | 2021.12.22 |
[금융데이터분석] 파이썬이용하여 코스피 대장주 찾기 Project-2(섹터 DB저장) (0) | 2021.12.12 |