Numpy库常用函数汇总:实现数据分析与建模的利器
Numpy是Python中最常用的数学库之一,它集成了许多最佳的数学函数和操作。Numpy的使用非常广泛,包括统计、线性代数、图像处理、机器学习、神经网络等领域。在数据分析和建模方面,Numpy更是必不可少的工具之一。本文将分享Numpy常用的数学函数,以及使用这些函数实现数据分析和建模的示例代码。
一、创建数组
使用Numpy中函数可以创建一个数组,代码示例:
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中的、和属性可以获取数组的维度、形状和元素个数,代码示例:
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还提供了一些特定的运算,例如:
平方运算:使用函数,代码示例:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(np.power(arr, 2)) # 输出 [ 1 4 9 16 25]
这表示数组中的每个元素都平方了。
开方运算:使用函数,代码示例:
import numpy as np
arr = np.array([1, 4, 9, 16, 25])
print(np.sqrt(arr)) # 输出 [1. 2. 3. 4. 5.]
这表示数组中的每个元素都开方了。
求和:使用函数,代码示例:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(np.sum(arr)) # 输出 15
这表示数组中的所有元素求和。
求最大值和最小值:使用和函数,代码示例:
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中提供了一些函数用于改变数组的形状,其中之一是函数。我们可以使用函数重塑数组的形状,代码示例:
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中提供了一些函数用于合并和拆分数组。
我们可以使用函数将两个数组沿着某个维度合并,代码示例:
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]
我们还可以使用和函数将两个数组水平或垂直堆叠在一起,代码示例:
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]
我们还可以使用函数将一个数组拆分成多个数组,代码示例:
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个学生的成绩,你想计算他们的平均成绩、最高成绩和最低成绩。
首先,我们用函数生成100个随机数,并使用、和函数计算它们的平均值、最高值和最低值,代码示例:
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))
接下来,我们将使用函数生成一个成绩的直方图,代码示例:
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()
最后,我们将使用函数计算成绩的百分位数,代码示例:
import numpy as np
grades = np.random.randint(50, 100, 100) # 生成50到100之间的100个随机数
print("90%的成绩高于:", np.percentile(grades, 90))
相关推荐
-
Numpy库常用函数大全:快速上手与实践指南
Numpy库是Python中最常用的数据处理库之一,它凭借着其高效、便捷的操作方式广受数据分析人员的喜爱。在Numpy库中,有许多常用的函数可以帮助我们快速、高效地完成数据处理任务。本篇文章将介绍一些
-
快速转换numpy数组为列表的方法分享
快速转换numpy数组为列表的方法分享在数据处理和分析中,经常会使用到numpy库来进行快速、高效的数组操作。然而,有时候我们需要将numpy数组转换为列表进行进一步的处理或者与其他类型的数据进行交互
-
函数式编程中的闭包的实际用途
闭包在函数式编程中的实际应用,需要具体代码示例引言闭包是函数式编程中一个重要的概念,它是指在一个嵌套函数中,内部函数可以访问外部函数的变量。闭包在函数式编程中有着广泛的实际应用,可以使代码更加简洁、灵
-
Python中使用len函数的用法和常见应用场景
Python中len函数的用法和应用场景在Python中,len函数是用于获取对象的长度或项数的内置函数。len函数主要用于字符串、列表、元组、字典和集合等数据类型,通过返回一个整数来表示对象的长度或
-
学会应对Python中len函数常见问题和解决方法的技巧
快速掌握Python中len函数的常见问题和解决方法一、引言Python中的len函数是一个常用的内建函数,用来获取容器对象的长度或元素个数。尽管len函数使用简单,但在实际应用时,仍有一些常见问题和