기사 디렉토리
NumPy(숫자 파이썬)
Numpy는 주로 임의 차원의 배열과 행렬을 처리하는 데 사용되는 오픈 소스 Python 과학 컴퓨팅 확장 라이브러리입니다 .
동일한 작업에서 numpy를 사용하는 것이 파이썬의 기본 데이터 구조를 직접 사용하는 것보다 더 간단하고 효율적입니다.
그것의 기능:
- 강력한 N차원 배열 개체 Ndarray를 포함합니다.
- 방송 기능
- C/C++ 코드 통합을 위한 도구
- 선형 대수, 푸리에 변환, 난수 생성과 같은 기능
numpy는 데이터 처리 또는 scipy 및 pandas와 같은 과학 컴퓨팅 라이브러리의 기초입니다.
numpy에 대한 참조
별명을 생략하거나 변경할 수 있지만 위에서 언급한 별명을 사용해 보십시오.
은다레이
동일한 데이터 유형의 컬렉션인 n차원 배열은 컬렉션의 요소를 인덱싱하기 위해 첨자로 0부터 시작합니다.
파이썬에는 목록 및 배열과 같은 데이터 구조가 있다는 것을 알고 있습니다.
목록 : 데이터 유형이 다를 수 있음(예: [3, 2.4, 'a', "abc"]), 데이터가 정렬된 배열임: 동일한
데이터 유형(예: [1, 2, 3, 4])
set : (예: { 2, 4, 3, 5, 7}) 데이터가 정렬되지 않음
n차원 배열 도입의 의미
다음 두 작업 집합이 동일하게 작동하는지 확인합니다.
import numpy as np
def pysum():
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
c = []
for i in range(len(a)):
c.append(a[i]**2+b[i]**3)
return c
def numpysum():
a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])
c = a**2+b**3
return c
print("使用列表运算的结果是:", pysum())
print("使用Numpy运算的结果是:", numpysum())
'''
运行结果:
使用列表运算的结果是: [126, 220, 352, 528]
使用Numpy运算的结果是: [126 220 352 528]
'''
그러나 분명히:
- numpy 배열 객체는 요소 구성 작업에 필요한 루프를 제거하여 1차원 벡터를 단일 데이터처럼 만들 수 있습니다.
- 특별한 배열 객체를 설정함으로써 numpy가 최적화되고 이에 따라 연산 속도가 향상됩니다.
일반적으로 과학 연산에서는 차원의 모든 데이터 유형이 동일한 경우가 많습니다.이 때 배열에 동일한 데이터 유형을 사용하면 객체는 컴퓨팅 시간과 저장 공간을 절약하는 데 도움이 됩니다.
ndarray의 구성
- 실제 데이터
- 이러한 데이터를 설명하는 메타데이터(데이터 차원, 데이터 유형 등)
ndarray 객체의 속성
데이터 유형
np.array()가 dtype을 지정하지 않으면 numpy는 데이터 조건에 따라 dtype 유형을 연결합니다.
ndarray가 여러 데이터 유형을 지원하는 이유
- Python 기본 구문은 3가지 유형의 정수, 부동 소수점 숫자 및 복소수만 지원합니다.
- 과학 컴퓨팅에는 많은 데이터가 포함되며 스토리지 및 성능에 대한 요구 사항이 높습니다.
- 요소 유형의 미세 정의는 numpy가 스토리지 공간을 합리적으로 사용하고 성능을 최적화하는 데 도움이 됩니다.
- 요소 유형의 미세 정의는 프로그래머가 프로그램 크기를 합리적으로 평가하는 데 도움이 됩니다.
ndarray 배열 생성
import numpy as np
x = np.array([[1, 0], [2, 0], [3, 1]], np.int32)
print(x)
print(x.dtype)
'''
程序输出:
[[1 0]
[2 0]
[3 1]]
int32
'''
배열 배열의 변환
ndarray 배열 연산
인덱싱 및 슬라이싱
인덱싱: 배열의 특정 위치에 있는 요소를 가져오는 프로세스
슬라이싱: 배열 요소의 하위 집합을 가져오는 프로세스
난수 함수
통계 기능
기울기 함수
복제본 및 보기
numpy 선형 대수학
배열과 스칼라 간 연산
일반적으로 사용되는 numpy.linalg 함수 요약
기능 | 기능 |
---|---|
진단 | 정사각 행렬의 대각선 요소를 1차원 배열로 반환하거나 1차원 배열을 1차원 정사각 행렬로 변환 |
점 | 행렬 곱셈 |
추적하다 | 대각선 요소의 합을 계산합니다. |
그만큼 | 행렬 결정자 계산 |
에그 | Square Matrix의 고유값과 고유벡터 계산 |
인보이스 | 정사각 행렬의 역함수 계산 |
svd | 특이값 분해 계산 |
해결하다 | 선형 방정식 시스템 Ax=b를 풉니다. 여기서 A는 정사각 행렬입니다. |
lstsq | Ax=b에 대한 최소 제곱해를 계산합니다. |
(얘들아, numpy에는 내장 함수가 너무 많아...)