>백엔드 개발 >파이썬 튜토리얼 >numpy 버전 업데이트 해석: 새로운 기능 및 향상된 성능

numpy 버전 업데이트 해석: 새로운 기능 및 향상된 성능

WBOY
WBOY원래의
2024-01-19 10:11:05628검색

numpy 버전 업데이트 해석: 새로운 기능 및 향상된 성능

주요 프로그래밍 언어 중 하나인 Python은 데이터 과학과 딥 러닝의 지속적인 발전과 함께 과학 컴퓨팅 라이브러리 numpy도 끊임없이 혁신하고 있습니다. 최근 numpy는 몇 가지 새로운 기능과 성능 개선이 포함된 새 버전을 출시했습니다. 이 게시물에서는 numpy의 새 버전에 대해 자세히 알아보고 몇 가지 중요한 기능과 개선 사항을 소개하겠습니다.

  1. 셔플 기능 개선

numpy 1.17.0 이전에는 셔플 기능이 배열 요소를 무작위 순서로 재정렬했습니다. 그러나 셔플 기능의 구현은 표준 무작위 알고리즘과 다르기 때문에 특정 상황에서는 성능에 영향을 미칠 수 있습니다. numpy 1.17.0에서는 셔플 기능이 새로운 무작위 알고리즘을 사용하도록 업데이트되어 성능과 무작위성이 향상되었습니다.

다음은 numpy 1.17.0에서 셔플 기능을 사용하는 방법을 보여주는 샘플 코드입니다.

import numpy as np

# 创建一个有序数组
arr = np.arange(10)

# 将数组随机排序
np.random.shuffle(arr)

print(arr)

출력 결과:

[2 6 5 7 0 9 3 1 4 8]
  1. 새로운 배열 중복 제거 방법

Numpy 1.13.0 버전에는 새로운 배열 중복 제거 방법이 도입되었습니다. Unique는 중복을 더 빠르고 쉽게 처리할 수 있습니다. 이전 버전에서 numpy는 중복 항목을 제거하기 전에 정렬 기능을 사용하여 배열을 정렬했습니다. 그러나 이 접근 방식은 대규모 배열로 작업할 때 성능 저하를 초래할 수 있습니다. numpy 1.13.0에서 고유 함수는 중복을 처리할 때 더 나은 성능을 제공하는 해시 테이블 알고리즘을 사용합니다.

다음은 numpy 1.13.0에서 고유 함수를 사용하는 방법을 보여주는 샘플 코드입니다.

import numpy as np

# 创建一个有重复项的数组
arr = np.array([1, 2, 3, 2, 4, 1, 5, 6, 4])

# 去掉数组中的重复项
arr = np.unique(arr)

print(arr)

출력 결과:

[1 2 3 4 5 6]
  1. 새로운 배열 할당 방법

Numpy 1.16.0 버전에는 새로운 배열이 도입되었습니다. 할당 방법 at은 배열의 요소를 더 빠르고 직접적으로 수정할 수 있습니다. 이전 버전에서는 numpy가 배열 수정에 루프를 사용했기 때문에 성능이 저하되었습니다. numpy 1.16.0에서는 at 함수가 C 코드로 구현되어 성능이 더 향상되었습니다.

다음은 numpy 1.16.0에서 at 함수를 사용하는 방법을 보여주는 샘플 코드입니다.

import numpy as np

# 创建一个3x3的数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 使用at函数修改数组元素
np.add.at(arr, [0, 1, 2], 1)

print(arr)

출력 결과:

[[ 2  3  4]
 [ 5  6  7]
 [ 8  9 10]]
  1. 새로운 배열 계산 방법

Numpy 1.14.0 버전에는 몇 가지 새로운 배열이 도입되었습니다. matmul, einsum 및 tensordot를 포함합니다. 이러한 방법을 사용하면 행렬 계산 및 텐서 계산과 같은 작업을 더 쉽게 수행할 수 있습니다. 이전 버전에서는 numpy에서 이러한 작업을 수행하기 위해 다양한 기능을 사용해야 했지만 새로운 방법을 사용하면 더 빠르고 간단해졌습니다.

다음은 numpy 1.14.0에서 행렬 계산에 matmul 함수를 사용하는 방법을 보여주는 샘플 코드입니다.

import numpy as np

# 创建两个矩阵
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])

# 使用matmul函数计算矩阵积
c = np.matmul(a, b)

print(c)

출력 결과:

[[19 22]
 [43 50]]
  1. 성능 개선

위의 새로운 기능 외에도 새로운 numpy 버전에는 일부 성능 개선 사항도 포함되어 있습니다. 그 중 가장 눈에 띄는 개선 사항은 배열 복사 및 배열 보기 기능입니다. 이전 버전에서는 numpy에서 배열 뷰를 생성하기 위해 추가 복사 작업이 필요했기 때문에 성능이 저하되었습니다. 최신 버전에서 numpy는 배열 뷰를 생성하는 더 빠른 방법을 사용하여 성능을 향상했습니다. 또한 numpy는 전치 연산, in1d 함수, 정렬 함수 등을 최적화했으며 성능도 크게 향상되었습니다.

요약하자면, 새 버전의 numpy에는 몇 가지 중요한 새 기능과 성능 개선 사항이 포함되어 있어 numpy를 더욱 편리하고 효율적으로 만들어줍니다. 대규모 배열을 처리하거나 데이터 과학 및 딥 러닝 작업을 수행해야 하는 경우 더 나은 성능과 기능을 위해 최신 버전의 numpy로 업그레이드하십시오.

위 내용은 numpy 버전 업데이트 해석: 새로운 기능 및 향상된 성능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.