搜索
首页后端开发Python教程Numpy库常用函数汇总:实现数据分析与建模的利器

Numpy库常用函数汇总:实现数据分析与建模的利器

Numpy是Python中最常用的数学库之一,它集成了许多最佳的数学函数和操作。Numpy的使用非常广泛,包括统计、线性代数、图像处理、机器学习、神经网络等领域。在数据分析和建模方面,Numpy更是必不可少的工具之一。本文将分享Numpy常用的数学函数,以及使用这些函数实现数据分析和建模的示例代码。

一、创建数组

使用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],表示创建了一个一维数组。

我们还可以创建一个二维数组,代码示例:🎜rrreee🎜这会输出:🎜rrreee🎜表示创建了一个二维数组。🎜🎜二、数组属性🎜🎜使用Numpy中的ndimshapesize属性可以获取数组的维度、形状和元素个数,代码示例:🎜rrreee🎜三、数组的运算🎜🎜Numpy数组可以进行加、减、乘、除等运算。首先看一下给数组加一个标量的运算,代码示例:🎜rrreee🎜表示数组中的每个元素都加上了2。🎜🎜接下来是两个数组相加的运算,代码示例:🎜rrreee🎜表示两个数组中对应的元素相加。🎜🎜Numpy还提供了一些特定的运算,例如:🎜
  • 🎜平方运算:使用power()函数,代码示例:🎜rrreee🎜这表示数组中的每个元素都平方了。🎜
  • 🎜开方运算:使用sqrt()函数,代码示例:🎜rrreee🎜这表示数组中的每个元素都开方了。🎜
  • 🎜求和:使用sum()函数,代码示例:🎜rrreee🎜这表示数组中的所有元素求和。🎜
  • 🎜求最大值和最小值:使用max()min()函数,代码示例:🎜rrreee
🎜四、数组的索引和切片🎜🎜我们可以使用下标来访问数组中的元素,代码示例:🎜rrreee🎜我们还可以对数组进行切片操作,代码示例:🎜rrreee🎜五、数组形状的变换🎜🎜Numpy中提供了一些函数用于改变数组的形状,其中之一是reshape()函数。我们可以使用reshape()函数重塑数组的形状,代码示例:🎜rrreee🎜这会返回一个形状为(5, 1)的二维数组:🎜rrreee🎜六、数组的合并与拆分🎜🎜Numpy中提供了一些函数用于合并和拆分数组。🎜🎜我们可以使用concatenate()函数将两个数组沿着某个维度合并,代码示例:🎜rrreee🎜我们还可以使用vstack()hstack()函数将两个数组水平或垂直堆叠在一起,代码示例:🎜rrreee🎜我们还可以使用split()函数将一个数组拆分成多个数组,代码示例:🎜rrreee🎜这会将数组拆分成5个一维数组,每个数组中只包含一个元素。🎜🎜七、综合示例🎜🎜现在,我们将使用Numpy中的函数实现一个简单的数据分析和建模的例子。🎜🎜示例:假设你有100个学生的成绩,你想计算他们的平均成绩、最高成绩和最低成绩。🎜🎜首先,我们用random()函数生成100个随机数,并使用mean()max()min()函数计算它们的平均值、最高值和最低值,代码示例:🎜rrreee🎜接下来,我们将使用histogram()函数生成一个成绩的直方图,代码示例:🎜rrreee🎜最后,我们将使用percentile()函数计算成绩的百分位数,代码示例:🎜rrreee🎜以上就是本文总结的Numpy常用函数,这些函数可以帮助我们实现数据分析和建模。希望这些示例代码可以帮助读者更好地理解。🎜

以上是Numpy库常用函数汇总:实现数据分析与建模的利器的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Python的主要目的:灵活性和易用性Python的主要目的:灵活性和易用性Apr 17, 2025 am 12:14 AM

Python的灵活性体现在多范式支持和动态类型系统,易用性则源于语法简洁和丰富的标准库。1.灵活性:支持面向对象、函数式和过程式编程,动态类型系统提高开发效率。2.易用性:语法接近自然语言,标准库涵盖广泛功能,简化开发过程。

Python:多功能编程的力量Python:多功能编程的力量Apr 17, 2025 am 12:09 AM

Python因其简洁与强大而备受青睐,适用于从初学者到高级开发者的各种需求。其多功能性体现在:1)易学易用,语法简单;2)丰富的库和框架,如NumPy、Pandas等;3)跨平台支持,可在多种操作系统上运行;4)适合脚本和自动化任务,提升工作效率。

每天2小时学习Python:实用指南每天2小时学习Python:实用指南Apr 17, 2025 am 12:05 AM

可以,在每天花费两个小时的时间内学会Python。1.制定合理的学习计划,2.选择合适的学习资源,3.通过实践巩固所学知识,这些步骤能帮助你在短时间内掌握Python。

Python与C:开发人员的利弊Python与C:开发人员的利弊Apr 17, 2025 am 12:04 AM

Python适合快速开发和数据处理,而C 适合高性能和底层控制。1)Python易用,语法简洁,适用于数据科学和Web开发。2)C 性能高,控制精确,常用于游戏和系统编程。

Python:时间投入和学习步伐Python:时间投入和学习步伐Apr 17, 2025 am 12:03 AM

学习Python所需时间因人而异,主要受之前的编程经验、学习动机、学习资源和方法及学习节奏的影响。设定现实的学习目标并通过实践项目学习效果最佳。

Python:自动化,脚本和任务管理Python:自动化,脚本和任务管理Apr 16, 2025 am 12:14 AM

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。

Python和时间:充分利用您的学习时间Python和时间:充分利用您的学习时间Apr 14, 2025 am 12:02 AM

要在有限的时间内最大化学习Python的效率,可以使用Python的datetime、time和schedule模块。1.datetime模块用于记录和规划学习时间。2.time模块帮助设置学习和休息时间。3.schedule模块自动化安排每周学习任务。

Python:游戏,Guis等Python:游戏,Guis等Apr 13, 2025 am 12:14 AM

Python在游戏和GUI开发中表现出色。1)游戏开发使用Pygame,提供绘图、音频等功能,适合创建2D游戏。2)GUI开发可选择Tkinter或PyQt,Tkinter简单易用,PyQt功能丰富,适合专业开发。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具