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中的ndim
、shape
和size
属性可以获取数组的维度、形状和元素个数,代码示例:
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))
ndim
, shape
및 size
속성을 사용하여 요소의 크기, 모양 및 수를 가져옵니다. 배열, 코드 예: 🎜rrreee🎜 3. 배열 연산 🎜🎜Numpy 배열은 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 연산을 수행할 수 있습니다. 먼저 배열에 스칼라를 추가하는 작업을 살펴보겠습니다. 코드 예: 🎜rrreee🎜는 배열의 각 요소에 2가 추가된다는 의미입니다. 🎜🎜다음 단계는 두 배열을 추가하는 작업입니다. 코드 예: 🎜rrreee🎜는 두 배열에 해당 요소를 추가하는 것을 의미합니다. 🎜🎜Numpy는 다음과 같은 몇 가지 특정 연산도 제공합니다: 🎜power()
함수 사용, 코드 예: 🎜rrreee🎜이는 배열 요소는 제곱입니다. 🎜sqrt()
함수 사용, 코드 예: 🎜rrreee🎜이는 배열의 각 요소가 제곱되었음을 의미합니다. 🎜sum()
함수를 사용하세요. 코드 예: 🎜rrreee🎜이것은 배열의 모든 요소를 합산하는 것을 의미합니다. 🎜max()
및 min()
함수 사용, 코드 예: 🎜rrreeereshape()
함수입니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!