Python中NumPy库的相关操作

简介: Python中NumPy库的相关操作

NumPy库


NumPy(Numerical Python)是Python中常用的数值计算库,它提供了高性能的多维数组对象和对数组进行操作的函数。


1.多维数组对象(ndarray)


(1)NumPy最重要的对象是ndarray,它是一个具有固定大小的数组,可以包含相同类型的元素。


(2)ndarray的维度称为轴(axes),轴的个数称为秩(rank)。


(3)ndarray对象可以通过索引和切片进行访问和操作。


2.数组创建和初始化


(1)使用NumPy的array()函数可以创建一个ndarray对象。


(2)可以使用NumPy提供的函数创建特定类型的数组,如zeros()、ones()、arange()等。


(3)可以通过reshape()函数改变数组的形状。


3.数组的操作


(1)可以对数组进行基本的算术运算,如加法、减法、乘法、除法等。


(2)可以使用NumPy提供的函数进行数组的逐元素运算,如sqrt()、exp()、sin()等。


(3)可以对数组进行切片和索引操作,获取数组的子集。


4.数组的聚合和统计


(1)NumPy提供了很多聚合函数,如sum()、mean()、min()、max()等,用于对数组进行统计计算。


(2)可以使用axis参数指定在哪个轴上进行聚合操作。


5.数组的广播


(1)NumPy的广播(broadcasting)机制允许对形状不同的数组进行计算。


(2)在广播中,较小的数组会自动扩展成较大数组的形状,以便进行元素级别的操作。


6.数组的排序和搜索


(1)可以使用sort()函数对数组进行排序。


(2)可以使用searchsorted()函数在有序数组中执行二分搜索。


7.数组的读写和文件操作


(1)可以使用NumPy的loadtxt()和savetxt()函数读写文本文件中的数组数据。


(2)可以使用NumPy的load()和save()函数读写二进制文件中的数组数据。


8.数组的线性代数运算


(1)NumPy提供了一些函数用于进行线性代数运算,如dot()、inv()、det()等。


(2)可以使用NumPy提供的线性代数模块(linalg)进行更复杂的线性代数操作。


9.数组的随机数生成


(1)NumPy的random模块提供了生成随机数的函数,如rand()、randn()、randint()等。


常用操作

创建数组

import numpy as np
# 通过列表创建一维数组
arr1 = np.array([1, 2, 3, 4, 5])
# 通过元组创建二维数组
arr2 = np.array([(1, 2, 3), (4, 5, 6)])
# 通过范围创建一维数组
arr3 = np.arange(1, 6)


上述代码示例中,使用NumPy库的array函数和arange函数分别创建了一维和二维数组。

数组属性

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print("数组形状:", arr.shape)
print("数组维度:", arr.ndim)
print("数组大小:", arr.size)

上述代码示例中,使用NumPy数组的属性shape、ndim和size分别获取了数组的形状、维度和大小。


索引和切片


import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print("第一个元素:", arr[0])
print("最后一个元素:", arr[-1])
print("切片取值:", arr[1:4])


上述代码示例中,使用NumPy数组的索引和切片操作,获取了数组中的元素和部分元素。

数组运算

import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# 数组加法
arr3 = arr1 + arr2
# 数组乘法
arr4 = arr1 * arr2
# 数组平方
arr5 = arr1 ** 2
print("数组加法结果:", arr3)
print("数组乘法结果:", arr4)
print("数组平方结果:", arr5)


上述代码示例中,使用NumPy数组进行了加法、乘法和平方运算,得到了对应的结果数组。


数组重塑


import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
# 重塑为二维数组
arr_reshape = arr.reshape(2, 3)
print("重塑后的数组:\n", arr_reshape)


上述代码示例中,使用NumPy数组的reshape方法将一维数组重塑为二维数组。


相关文章
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
73 20
|
4天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
29 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
28天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
106 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
2月前
|
XML JSON 数据库
Python的标准库
Python的标准库
185 77
|
3月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
198 4
数据分析的 10 个最佳 Python 库
|
2月前
|
XML JSON 数据库
Python的标准库
Python的标准库
71 11
|
3月前
|
人工智能 API 开发工具
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
吴恩达发布的开源Python库aisuite,提供了一个统一的接口来调用多个大型语言模型(LLM)服务。支持包括OpenAI、Anthropic、Azure等在内的11个模型平台,简化了多模型管理和测试的工作,促进了人工智能技术的应用和发展。
226 1
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
|
2月前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
105 8
|
2月前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
88 4
|
3月前
|
测试技术 Python
Python中的异步编程与`asyncio`库
Python中的异步编程与`asyncio`库

热门文章

最新文章

推荐镜像

更多