Python 14일차

조영훈·2024년 8월 22일

Python

목록 보기
14/16
post-thumbnail

Numpy 정리(2)


1. 배열의 기본 연산

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())  # 배열의 표준편차

2. 배열 요소 접근 및 수정

배열 생성 및 특정 인덱스 접근

c = np.arange(10, 50)
c[0:4]  # 첫 번째 값 출력하기

배열 요소 수정

c[4] = 100  # 4번 인덱스 값을 100으로 변경

배열의 패딩 및 배열 변형

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로 채움

3. 난수 생성 및 확률 계산

난수 생성과 배열 병합

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()

확률 기반 선택 및 통계 분석

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())  # 각 과일이 선택된 횟수 출력
profile
개발 꿈나무

0개의 댓글