> 백엔드 개발 > 파이썬 튜토리얼 > Numpy 라이브러리에서 일반적으로 사용되는 기능 요약: 데이터 분석 및 모델링을 위한 강력한 도구

Numpy 라이브러리에서 일반적으로 사용되는 기능 요약: 데이터 분석 및 모델링을 위한 강력한 도구

WBOY
풀어 주다: 2024-01-19 09:10:07
원래의
1058명이 탐색했습니다.

Numpy 라이브러리에서 일반적으로 사용되는 기능 요약: 데이터 분석 및 모델링을 위한 강력한 도구

Numpy는 Python에서 가장 일반적으로 사용되는 수학 라이브러리 중 하나이며, 최고의 수학 함수와 연산을 다수 통합합니다. Numpy는 통계, 선형 대수학, 이미지 처리, 기계 학습, 신경망 및 기타 분야를 포함하여 널리 사용됩니다. 데이터 분석 및 모델링 측면에서 Numpy는 필수적인 도구 중 하나입니다. 이 기사에서는 Numpy에서 일반적으로 사용되는 수학 함수와 이러한 함수를 사용하여 데이터 분석 및 모델링을 구현하기 위한 샘플 코드를 공유합니다.

1. 배열 만들기

Numpy에서 array() 함수를 사용하여 배열을 만듭니다. 코드 예: array()函数可以创建一个数组,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr)
로그인 후 복사

这会输出 [1 2 3 4 5],表示创建了一个一维数组。

我们还可以创建一个二维数组,代码示例:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr)
로그인 후 복사

这会输出:

[[1 2 3]
 [4 5 6]]
로그인 후 복사

表示创建了一个二维数组。

二、数组属性

使用Numpy中的ndimshapesize属性可以获取数组的维度、形状和元素个数,代码示例:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.ndim)  # 输出 2,表示数组是二维的
print(arr.shape)  # 输出 (2, 3),表示数组有2行3列
print(arr.size)  # 输出 6,表示数组有6个元素
로그인 후 복사

三、数组的运算

Numpy数组可以进行加、减、乘、除等运算。首先看一下给数组加一个标量的运算,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr + 2)  # 输出 [3 4 5 6 7]
로그인 후 복사

表示数组中的每个元素都加上了2。

接下来是两个数组相加的运算,代码示例:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(arr1 + arr2)  # 输出 [5 7 9]
로그인 후 복사

表示两个数组中对应的元素相加。

Numpy还提供了一些特定的运算,例如:

  • 平方运算:使用power()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    print(np.power(arr, 2))  # 输出 [ 1  4  9 16 25]
    로그인 후 복사

    这表示数组中的每个元素都平方了。

  • 开方运算:使用sqrt()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 4, 9, 16, 25])
    print(np.sqrt(arr))  # 输出 [1. 2. 3. 4. 5.]
    로그인 후 복사

    这表示数组中的每个元素都开方了。

  • 求和:使用sum()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    print(np.sum(arr))  # 输出 15
    로그인 후 복사

    这表示数组中的所有元素求和。

  • 求最大值和最小值:使用max()min()函数,代码示例:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    print(np.max(arr))  # 输出 5,表示数组中的最大值
    print(np.min(arr))  # 输出 1,表示数组中的最小值
    로그인 후 복사

四、数组的索引和切片

我们可以使用下标来访问数组中的元素,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr[0])  # 输出 1,表示数组中的第一个元素
로그인 후 복사

我们还可以对数组进行切片操作,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4])  # 输出 [2 3 4],表示从数组中取出第2个到第4个元素
로그인 후 복사

五、数组形状的变换

Numpy中提供了一些函数用于改变数组的形状,其中之一是reshape()函数。我们可以使用reshape()函数重塑数组的形状,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr.reshape(5, 1))
로그인 후 복사

这会返回一个形状为(5, 1)的二维数组:

[[1]
 [2]
 [3]
 [4]
 [5]]
로그인 후 복사

六、数组的合并与拆分

Numpy中提供了一些函数用于合并和拆分数组。

我们可以使用concatenate()函数将两个数组沿着某个维度合并,代码示例:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(np.concatenate((arr1, arr2)))  # 输出 [1 2 3 4 5 6]
로그인 후 복사

我们还可以使用vstack()hstack()函数将两个数组水平或垂直堆叠在一起,代码示例:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# 垂直堆叠
print(np.vstack((arr1, arr2)))  # 输出 [[1 2 3] [4 5 6]]

# 水平堆叠
print(np.hstack((arr1, arr2)))  # 输出 [1 2 3 4 5 6]
로그인 후 복사

我们还可以使用split()函数将一个数组拆分成多个数组,代码示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(np.split(arr, 5))  # 输出 [array([1]), array([2]), array([3]), array([4]), array([5])]
로그인 후 복사

这会将数组拆分成5个一维数组,每个数组中只包含一个元素。

七、综合示例

现在,我们将使用Numpy中的函数实现一个简单的数据分析和建模的例子。

示例:假设你有100个学生的成绩,你想计算他们的平均成绩、最高成绩和最低成绩。

首先,我们用random()函数生成100个随机数,并使用mean()max()min()函数计算它们的平均值、最高值和最低值,代码示例:

import numpy as np

grades = np.random.randint(50, 100, 100)  # 生成50到100之间的100个随机数
print("平均成绩:", np.mean(grades))
print("最高成绩:", np.max(grades))
print("最低成绩:", np.min(grades))
로그인 후 복사

接下来,我们将使用histogram()函数生成一个成绩的直方图,代码示例:

import matplotlib.pyplot as plt
import numpy as np

grades = np.random.randint(50, 100, 100)  # 生成50到100之间的100个随机数
hist, bins = np.histogram(grades, bins=10, range=(50, 100))

plt.hist(grades, bins=10, range=(50, 100))
plt.show()
로그인 후 복사

最后,我们将使用percentile()

import numpy as np

grades = np.random.randint(50, 100, 100)  # 生成50到100之间的100个随机数
print("90%的成绩高于:", np.percentile(grades, 90))
로그인 후 복사
이렇게 하면 [1 2 3 4 5]가 출력됩니다. -차원 배열이 생성되었습니다.

2차원 배열을 만들 수도 있습니다. 코드 예: 🎜rrreee🎜이 결과는 다음과 같습니다. 🎜rrreee🎜2차원 배열이 생성되었음을 나타냅니다. 🎜🎜2. 배열 속성🎜🎜Numpy에서 ndim, shapesize 속성을 ​​사용하여 요소의 크기, 모양 및 수를 가져옵니다. 배열, 코드 예: 🎜rrreee🎜 3. 배열 연산 🎜🎜Numpy 배열은 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 연산을 수행할 수 있습니다. 먼저 배열에 스칼라를 추가하는 작업을 살펴보겠습니다. 코드 예: 🎜rrreee🎜는 배열의 각 요소에 2가 추가된다는 의미입니다. 🎜🎜다음 단계는 두 배열을 추가하는 작업입니다. 코드 예: 🎜rrreee🎜는 두 배열에 해당 요소를 추가하는 것을 의미합니다. 🎜🎜Numpy는 다음과 같은 몇 가지 특정 연산도 제공합니다: 🎜
  • 🎜정사각형 연산: power() 함수 사용, 코드 예: 🎜rrreee🎜이는 배열 요소는 제곱입니다. 🎜
  • 🎜제곱근 연산: sqrt() 함수 사용, 코드 예: 🎜rrreee🎜이는 배열의 각 요소가 제곱되었음을 의미합니다. 🎜
  • 🎜Sum: sum() 함수를 사용하세요. 코드 예: 🎜rrreee🎜이것은 배열의 모든 요소를 ​​합산하는 것을 의미합니다. 🎜
  • 🎜최대값과 최소값 찾기: max()min() 함수 사용, 코드 예: 🎜rrreee
  • 🎜4. 배열 인덱싱 및 슬라이싱🎜🎜아래 첨자를 사용하여 배열의 요소에 액세스할 수 있습니다. 코드 예시: 🎜rrreee🎜또한 배열을 슬라이스할 수도 있습니다. 코드 예시: 🎜rrreee🎜5. 🎜Numpy는 배열의 모양을 변경하는 몇 가지 함수를 제공하며, 그 중 하나가 reshape() 함수입니다. reshape() 함수를 사용하여 배열의 모양을 변경할 수 있습니다. 코드 예: 🎜rrreee🎜 이렇게 하면 (5, 1) 모양의 2차원 배열이 반환됩니다. 🎜rrreee🎜 6. 병합 of Arrays & Splitting 🎜🎜Numpy는 배열 병합 및 분할을 위한 몇 가지 기능을 제공합니다. 🎜🎜concatenate() 함수를 사용하여 특정 차원을 따라 두 배열을 병합할 수 있습니다. 코드 예: 🎜rrreee🎜vstack()hstack() 함수는 두 개의 배열을 수평 또는 수직으로 쌓습니다. 코드 예: 🎜rrreee🎜 split() 함수를 사용하여 배열을 여러 배열로 분할할 수도 있습니다. 코드 예: 🎜rrreee🎜이렇게 하면 배열이 각각 하나의 요소만 포함하는 5개의 1차원 배열로 분할됩니다. 🎜🎜7. 종합 예제🎜🎜이제 Numpy의 함수를 사용하여 간단한 데이터 분석 및 모델링 예제를 구현해 보겠습니다. 🎜🎜예: 100명의 학생의 점수가 있고 그들의 평균 점수, 최고 점수, 최저 점수를 계산하려고 한다고 가정합니다. 🎜🎜먼저 random() 함수를 사용하여 100개의 난수를 생성하고 mean(), max() min() 함수는 평균, 최고 및 최저 값을 계산합니다. 코드 예: 🎜rrreee🎜다음으로 histogram() 함수를 사용하여 점수 히스토그램을 생성합니다. 예: 🎜rrreee🎜마지막으로 percentile() 함수를 사용하여 성적의 백분위수를 계산합니다. 코드 예: 🎜rrreee🎜위는 이 문서에 요약된 일반적인 Numpy 함수입니다. 데이터 분석 및 모델링을 구현하는 데 도움이 될 수 있습니다. 이 샘플 코드가 독자들의 이해를 높이는 데 도움이 되기를 바랍니다. 🎜

위 내용은 Numpy 라이브러리에서 일반적으로 사용되는 기능 요약: 데이터 분석 및 모델링을 위한 강력한 도구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿