파이썬 numpy 라이브러리

NumPy(숫자 파이썬)

Numpy는 주로 임의 차원의 배열과 행렬을 처리하는 데 사용되는 오픈 소스 Python 과학 컴퓨팅 확장 라이브러리입니다 .
동일한 작업에서 numpy를 사용하는 것이 파이썬의 기본 데이터 구조를 직접 사용하는 것보다 더 간단하고 효율적입니다.
그것의 기능:

  1. 강력한 N차원 배열 개체 Ndarray를 포함합니다.
  2. 방송 기능
  3. C/C++ 코드 통합을 위한 도구
  4. 선형 대수, 푸리에 변환, 난수 생성과 같은 기능
    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]
'''

그러나 분명히:

  1. numpy 배열 객체는 요소 구성 작업에 필요한 루프를 제거하여 1차원 벡터를 단일 데이터처럼 만들 수 있습니다.
  2. 특별한 배열 객체를 설정함으로써 numpy가 최적화되고 이에 따라 연산 속도가 향상됩니다.
    일반적으로 과학 연산에서는 차원의 모든 데이터 유형이 동일한 경우가 많습니다.이 때 배열에 동일한 데이터 유형을 사용하면 객체는 컴퓨팅 시간과 저장 공간을 절약하는 데 도움이 됩니다.

ndarray의 구성

  1. 실제 데이터
  2. 이러한 데이터를 설명하는 메타데이터(데이터 차원, 데이터 유형 등)
    여기에 이미지 설명 삽입

ndarray 객체의 속성

여기에 이미지 설명 삽입

데이터 유형

여기에 이미지 설명 삽입
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입
np.array()가 dtype을 지정하지 않으면 numpy는 데이터 조건에 따라 dtype 유형을 연결합니다.

ndarray가 여러 데이터 유형을 지원하는 이유

  1. Python 기본 구문은 3가지 유형의 정수, 부동 소수점 숫자 및 복소수만 지원합니다.
  2. 과학 컴퓨팅에는 많은 데이터가 포함되며 스토리지 및 성능에 대한 요구 사항이 높습니다.
  3. 요소 유형의 미세 정의는 numpy가 스토리지 공간을 합리적으로 사용하고 성능을 최적화하는 데 도움이 됩니다.
  4. 요소 유형의 미세 정의는 프로그래머가 프로그램 크기를 합리적으로 평가하는 데 도움이 됩니다.

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에는 내장 함수가 너무 많아...)

추천

출처blog.csdn.net/qq_52109814/article/details/122016446