설치 방법
- vscode에 python설치, 주피터 설치
넘파이
파이썬으로 행렬, 수치 계산 등 데이터를 다루기 쉽게 도와주는 유명 데이터 조작 라이브러리
N차원 배열 생성 - np.array()
- 코드
import numpy as np
# 1차원 배열
arr = np.array([1, 2, 3])
print(arr)
>> [1 2 3]
print(type(arr))
>> <class 'numpy.ndarray'>
#2차원 배열
arr = np.array([[1, 2, 3],
[4, 5, 6]])
print(arr)
>> [[1 2 3]
[4 5 6]]
#튜플로 1차원 배열 만들기
tpl = (4, 5, 6)
arr = np.array(tpl)
print(arr)
>> [4 5 6]
#리스트로 2차원 배열 만들기
lst = [[1, 2, 3], [4, 5, 6]]
arr = np.array(lst)
print(arr)
>> [[1 2 3]
[4 5 6]]
0으로 가득찬 배열 생성 - np.zero(())
np.zeros((3, 6))
Shape 확인하기 - arr.shape
- 배열의 형상
- 형상이란 N차원 배열에서 그 배열의 ‘각 차원의 크기(원소 수)’
- 코드
# 형상(shape) 확인하기
arr = np.array([1, 2, 3]) # 1차원 배열
print(arr.shape)
>> (3,)
arr2 = np.array([[1, 2, 3], [4, 5, 6]]) # 2차원 배열
print(arr2.shape)
>> (2, 3)
배열끼리의 연산 - n1.dot(n2)
- 배열끼리 곱하기
n2 = np.array([3, 6, 9])
print(n1.dot(n2))
>> 126
시리즈 생성 - pd.Series
# pd.Series의 옵션이 무엇이 있는지 확인
# index => 할당값의 지정 이름, 중복 가능['a','a', 'b', 'c']
# dtype => 대표적 : int, float, string, boolean 등
series = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'], dtype=float)
series
정렬 - sort_values()
- 오름차순
series = pd.Series([10, 2, 5, 4], index=['a','b','c','d'], dtype=float)
series.sort_values(ascending=True) # 오름차순(기본값)
- 내림차순
series.sort_values(ascending=False) # 내림차순
reshape - np.reshape()
- 값 재배열
- ex) np.arange(12) → array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
- ex) np.arange(12).reshape(3, 4) → array([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]])
- 코드
np.arange(12)
>> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
np.arange(12).reshape(3, 4)
>> array([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]])
ndim/size
- ndim → 해당 배열의 차원
- size → 해당 배열의 칸 수
- 코드
arr = np.array([1, 2, 3])
print(arr.ndim)
>> 1
print(arr.size) #해당 배열의 칸 수 확인하기
>> 3
arr2 = np.array([[1, 2, 3],[4, 5, 6]])
print(arr2.ndim) #해당 배열의 차원 확인하기
>> 2
print(arr2.size) #해당 배열의 칸 수 확인하기
>> 6
dtype
- 배열의 데이터 타입
- 코드
arr = np.array([1.1, 2.2, 3.3])
print(arr.dtype)
>>> float64
arr = np.array([1.1, 2.2, 3.3], dtype=int)
print(arr)
>> [1 2 3]
print(arr.dtype)
>> int32
arr = np.array([1, 2, 3, 0], dtype=bool)
print(arr)
>> [True True True False]
arange
- 1씩 증가하는 1차원 배열
- 코드
print(np.arange(10)) # 시작이 0부터
> [0 1 2 3 4 5 6 7 8 9]
print(np.arange(5, 10)) # 시작이 5부터
>> [5 6 7 8 9]
예제
- 데이터를 2배 해야하는 경우
data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 파이썬의 경우
answer =[]
for di in data:
answer.append(2 * di)
answer
# 벡터화 연산 사용 시
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])
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]
random
- rand
- 균일분포에서 추출
- randn
- normal 분포를 추출설치 방법
'Programming Language > Python' 카테고리의 다른 글
[Python] Pandase(판다스) (0) | 2024.06.13 |
---|---|
[Python] 시각화할 때 한글 깨지는 경우 (0) | 2024.06.13 |
[Python] 정규 표현식(RegExp) (0) | 2024.06.13 |
[Python] Math.gcd - 최대공약수 (0) | 2024.06.12 |
[Python] 내장 함수 (0) | 2024.06.12 |