작업 효율성 향상을 위한 numpy 함수 팁 및 예제 공유
소개:
데이터 처리 및 과학 컴퓨팅 분야에서는 Python의 numpy 라이브러리를 사용하는 것이 매우 일반적입니다. Numpy는 대규모 데이터 작업 및 계산을 쉽게 수행할 수 있는 일련의 강력한 기능과 도구를 제공합니다. 이 기사에서는 작업 효율성을 향상시키고 구체적인 코드 예제를 제공하기 위한 몇 가지 numpy 함수 기술을 소개합니다.
1. 벡터화 작업
Numpy의 벡터화 작업은 가장 강력한 기능 중 하나입니다. 벡터화 작업을 통해 각 요소에 대한 작업에 for 루프를 사용하지 않아도 되므로 작업 속도가 크게 향상됩니다.
샘플 코드 1: 행렬의 행과 열의 합을 계산합니다
import numpy as np m = np.random.rand(1000, 1000) # 使用for循环 row_sum = np.zeros(1000) col_sum = np.zeros(1000) for i in range(1000): for j in range(1000): row_sum[i] += m[i][j] col_sum[j] += m[i][j] # 使用矢量化操作 row_sum = np.sum(m, axis=1) col_sum = np.sum(m, axis=0)
샘플 코드 2: 두 배열의 가중 평균을 계산합니다
import numpy as np a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) weights = np.array([0.2, 0.3, 0.5]) # 使用for循环 result = 0 for i in range(3): result += a[i] * b[i] * weights[i] # 使用矢量化操作 result = np.dot(np.multiply(a, b), weights)
2. Broadcast
Broadcasting은 서로 다른 차원의 배열을 허용하는 numpy의 함수입니다. be 시간 계산이 매우 편리해집니다. 브로드캐스트를 사용하면 명시적인 차원 일치 없이 배열에서만 작업할 수 있습니다.
샘플 코드 3: 배열의 평균 제곱 오차 계산
import numpy as np a = np.array([1, 2, 3]) mean = np.mean(a) var = np.sqrt(np.mean((a - mean) ** 2))
샘플 코드 4: 행렬의 각 행에서 해당 행의 평균을 뺍니다
import numpy as np m = np.random.rand(1000, 1000) mean = np.mean(m, axis=1) m -= mean[:, np.newaxis]
3 슬라이싱 및 인덱싱 기술
Numpy는 다양한 슬라이싱을 제공합니다. 배열을 편리하게 가로채고 필터링할 수 있는 인덱싱 기술.
샘플 코드 5: 배열에서 일부 요소를 무작위로 추출
import numpy as np a = np.arange(100) np.random.shuffle(a) selected = a[:10]
샘플 코드 6: 조건을 충족하는 배열의 요소 필터링
import numpy as np a = np.array([1, 2, 3, 4, 5, 6]) selected = a[a > 3]
4 일반 함수 및 집계 함수
Numpy는 수많은 일반 함수와 집계를 제공합니다. 배열에 대한 다양한 수학 및 통계 연산을 편리하게 수행할 수 있는 함수입니다.
샘플 코드 7: 배열 요소의 절대값 가져오기
import numpy as np a = np.array([-1, -2, -3, 4, 5, 6]) abs_a = np.abs(a)
샘플 코드 8: 배열의 합계, 평균 및 최대값 계산
import numpy as np a = np.array([1, 2, 3, 4, 5, 6]) sum_a = np.sum(a) mean_a = np.mean(a) max_a = np.max(a)
요약:
이 문서에서는 작업 개선을 위한 몇 가지 numpy 함수 기술을 소개합니다. 효율성을 높이고 구체적인 코드 예제를 제공합니다. 벡터화 작업, 브로드캐스팅, 슬라이싱 및 인덱싱 기술, 일반 및 집계 함수 사용을 통해 데이터 처리 및 과학 컴퓨팅에서 numpy를 보다 효율적으로 사용할 수 있습니다. 이 글이 모든 분들의 업무에 도움이 되었으면 좋겠습니다!
위 내용은 업무 효율성을 높이기 위해 numpy 함수 팁과 예시를 공유하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!