import numpy as np
a = np.random.random((3, 4)) * 10 # 3행 4열의 난수 배열 생성
print("배열의 합:", a.sum()) # 배열의 모든 요소들의 합
print("배열의 최소값:", a.min()) # 배열의 최소값
print("배열의 최대값:", a.max()) # 배열의 최대값
print("배열의 평균값:", a.mean()) # 배열의 평균값
print("배열의 표준편차:", a.std()) # 배열의 표준편차
배열의 특정 값을 수정하거나, 슬라이싱을 통해 배열의 일부분만 접근할 수 있다.
c = np.arange(10, 50) # 10부터 49까지의 배열 생성
c[4] = 100 # 4번 인덱스의 값을 100으로 수정
print(c[:5]) # 0~4번 인덱스의 값 출력
d = np.arange(12).reshape(3, 4) # 3행 4열의 배열 생성
print(d[1, 1]) # 1행 1열의 값 출력
print(d[0:2, 0:2]) # 슬라이싱을 통해 부분 배열 접근
배열의 가장자리를 특정 값으로 패딩하거나, 배열의 모양을 변형할 수 있다.
e = np.ones((10, 10)) # 1로 채워진 10x10 배열 생성
e[1:-1, 1:-1] = 0 # 내부를 0으로 채움
f = np.zeros((8, 8))
f = np.pad(f, pad_width=1, constant_values=1) # 패딩을 통해 가장자리를 1로 채움
Numpy를 활용하여 정수형 난수를 생성하고, 여러 배열을 병합할 수 있다.
i = np.random.randint(10, size=(2, 2)) # 0~9 사이의 정수형 난수 배열 생성
j = np.random.randint(10, size=(2, 2))
vstacked = np.vstack((i, j)) # 행 기준으로 배열 병합
hstacked = np.hstack((i, j)) # 열 기준으로 배열 병합
정규분포를 따르는 난수를 생성하고, 이를 히스토그램으로 시각화할 수 있다.
import matplotlib.pyplot as plt
o = np.random.normal(0, 1, 10000) # 평균 0, 표준편차 1의 정규분포 난수 생성
plt.hist(o, bins=100) # 히스토그램으로 정규분포 확인
plt.show()
Numpy의 choice 함수를 사용하여 확률 기반으로 값을 선택하고, Pandas의 Series를 사용하여 데이터를 분석할 수 있다.
fruits = ["apple", "banana", "cherries", "durian", "grapes"]
u = np.random.choice(fruits, 100, p=[0.1, 0.2, 0.3, 0.2, 0.2]) # 가중치에 따라 과일 선택
import pandas as pd
sr = pd.Series(u) # Series 객체 생성
print(sr.value_counts()) # 각 과일이 선택된 횟수 출력